package ListInterface;
import List.Person;
import org.junit.Test;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class TreeSetTest {
@Test
public void test1(){
TreeSet set = new TreeSet();
// 失败:不能添加不同类的对象
// set.add(123);
// set.add(456);
// set.add("aa");
// set.add(new Person("Tom",123));
// 举例1:
// set.add(123);
// set.add(456);
// set.add(-31);
// set.add(11);
// set.add(8);
// 举例2:
set.add(new Person("tom",12));
set.add(new Person("mike",14));
set.add(new Person("jerry",21));
set.add(new Person("sheep",18));
set.add(new Person("jerry",9));
Iterator iterator = set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next()); //会按照从小打大的数据排序
}
}
@Test
public void test2(){
// 按照年龄从小到大排列
Comparator com = new Comparator() {
@Override
public int compare(Object o1, Object o2) {
if(o1 instanceof Person && o2 instanceof Person){
Person p1 = (Person) o1;
Person p2 = (Person) o2;
return Integer.compare(p1.getAge(),p2.getAge());
}else{
throw new RuntimeException("输入的数据类型不一致");
}
}
};
TreeSet set = new TreeSet(com);
set.add(new Person("tom",12));
set.add(new Person("mike",14));
set.add(new Person("jerry",21));
set.add(new Person("sheep",18));
set.add(new Person("jerry",9));
Iterator iterator = set.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next()); //会按照从小打大的数据排序
}
}
}