package ListInterface;import List.Person;
import org.junit.Test;import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;public class TreeSetTest {/*
// TreeSet中的数据要求同一个类的对现象:输出的时候会排序之后输出有两种排序:自然排序和定制排序
// 定制排序: TreeSet set = new TreeSet(com);*/@Testpublic 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()); //会按照从小打大的数据排序}}@Testpublic void test2(){// 按照年龄从小到大排列Comparator com = new Comparator() {@Overridepublic 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()); //会按照从小打大的数据排序}}
}