对Person对象按年龄排序

本文介绍了一个使用Java TreeSet实现的示例程序,该程序通过自定义的Person类演示了如何根据年龄对对象进行排序。TreeSet确保了元素的唯一性和有序性,而Person类实现了Comparable接口来定义比较规则。
import java.util.*;
class Set
{
	public static void main(String[] args)
	{
		TreeSet hs=new TreeSet();
		hs.add(new Person("torylee01",77));
		hs.add(new Person("torylee02",44));

		hs.add(new Person("torylee01",55));
		hs.add(new Person("torylee01",66));

		Iterator it=hs.iterator();
		while(it.hasNext())
		{
			Person p=(Person)it.next();
			System.out.println(p.getName()+".........."+p.getAge());
		}


	}
}

class Person implements Comparable
{
	private String name;
	private int age;
	Person(String name, int age)
	{
		this.name=name;
		this.age=age;
	}
	public int compareTo(Object obj)
	{
		if(!(obj instanceof Person))
			throw new RuntimeException("sorry, error");
		Person p=(Person)obj;
		if(this.age>p.age)
			return 1;
		if(this.age==p.age)
			return 0;
		return -1;
	}
	public int getAge()
	{
		return age;
	}
	public String getName()
	{
		return name;
	}
}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值