TreeSet的定制排序

/*
* TreeSet的定制排序:
* //1.创建一个实现了Comparator接口的类对象
* //2.将此对象作为形参传递给TreeSet的构造器中
* //3.向TreeSet中添加Comparator接口中的compare方法中涉及的类的对象
*
* compare()与hashCode()以及equals()三张保持一致!
*

	 */
	public void testTreeSet() {
		//1.创建一个实现了Comparator接口的类对象
		Comparator com =new Comparator() {
		//向TreeSet中添加Customer类的对象,在此Comparator()方法中,指明是
			//按照Customer的哪个属性进行排序的。
			@Override
			public int compare(Object o1, Object o2) {
				// TODO Auto-generated method stub
				if(o1 instanceof Customer && o2 instanceof Customer){
					Customer c1 = (Customer)o1;
					Customer c2 = (Customer)o2;
					int i = c1.getId().compareTo(c2.getId());
					if(i == 0) {
					  return	c1.getName().compareTo(c2.getName());
					}else {
						return i;
					}
					
				}
				return 0;
			}
			
		};
		//2.将此对象作为形参传递给TreeSet的构造器中
		TreeSet set = new TreeSet(com);
		//3.向TreeSet中添加Comparator接口中的compare方法中涉及的类的对象
		set.add(new Customer("CC",23));
		set.add(new Customer("GG",22));
		set.add(new Customer("DD",22));
		set.add(new Customer("DD",22));
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值