构造方法和方法查看API,和HashSet差别不大
底层是TreeMap实现(二叉树)
add() iterator() remove() size();
无序无重复
TreeSet集合本身有顺序。无序指的是存入的和取出的顺序不一致
compareTo方法—>String类中,按照字母的自然顺序排布(Unicode)
如果想要把自己写的类型。比如Person对象存入TreeSet集合里,
不能随意存储,需要让自己写的类先实现Comparable接口
如果把Person类中的compareTo方法中的 return this.name compareTo(p.name);
改成 return -1; 输出结果是: [{wang5,24}, {li4,24}, {zhang3,24}, {zhang3,23}]
改成 return 0; 输出结果是:[{zhang3,23}]
改成 return 1; 输出结果是:[{zhang3,23}, {zhang3,24}, {li4,24}, {wang5,24}]
可知,当返回值是- 1 的时候,作为参数传进去的(即compareTo(Person p) 中的p),排在前面。
当返回值是 0 的时候,两者一致,不存储。
当返回值是 1 的时候,作为参数传进去的排在后面。