集合第四步: TreeSet比较顺序和比较重复机制

package cn.sdut.chapter5;

import java.util.Collection;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;

/*
 * TreeSet集合存储自定义对象并遍历
   如果对象的成员变量值相同即为同一个对象
   按照年龄进行从大到小进行排序

两种实现方式:
1.存入的对象实现Comparable 接口中的 compareto方法
2.在创建TreeSet时 塞入一个实现了  Comparator接口的类作为参数
 */
class Compare01 implements Comparator<Two> {

	@Override
	public int compare(Two e1, Two e2) {
		
		if( e2.getAge()-e1.getAge()>0){
			return 1;
		}else if(e2.getAge()-e1.getAge()<0){
			return -1;
		}else{
			return 0;
		}
			
		
		
	}

}

public class Set02 {

	public static void main(String[] args) {
		Set<Two> set = new TreeSet<>(new Compare01());
		set.add(new Two("q", 1));
		set.add(new Two("z", 5));
		set.add(new Two("d", 3));
		set.add(new Two("w", 7));
		set.add(new Two("e", 4));
		print(set);
	}
	private static void print(Collection<Two> col) {
		for (Two t : col) {
			System.out.println("name=" + t.getName() + "  age=" + t.getAge());
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值