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());
}
}
}
集合第四步: TreeSet比较顺序和比较重复机制
最新推荐文章于 2025-03-08 23:37:54 发布