一:TreeSet:可以按照添加对象的指定属性进行排序
1.向TreeSet中添加的数据,要求是相同类的对象 2.两种排序方式:自然排序和定制排序 3.自然排序中,比较两个对象是否相同的标涯为:compareTo()返回0.不冉是equals() 4.定制排序中,比较两个对象是否相同的标准为: compare()返回e.不再是equals()
注意!不能添加不同类的对象
@Test
public void test2(){
Comparator com = new Comparator() {
//按照年龄从小到大
@Override
public int compare(Object o1, Object o2) {
if(o1 instanceof User&&o2 instanceof User){
User u1 = (User) o1;
User u2 = (User) o2;
return Integer.compare(u1.getAge(),u2.getAge());
}else {
throw new RuntimeException("异常");
}
}
};
TreeSet set = new TreeSet(com);
set.add(new User("px",12));
set.add(new User("mm",17));
set.add(new User("ww",15));
set.add(new User("ll",19));
set.add(new User("zz",20));
set.add(new User("zz",21));
set.add(new User("kk",21));
Iterator iterator = set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}