1.按照字典顺序排序,并且去重复
1 TreeSet<Integer> treeSet = new TreeSet<>(); 2 treeSet.add(2); 3 treeSet.add(5); 4 treeSet.add(4); 5 treeSet.add(2); 6 treeSet.add(4); 7 treeSet.add(8); 8 treeSet.add(9); 9 10 11 for (Integer integer : treeSet) { 12 System.out.print(integer + " "); 13 } 14 //输出结果为 2 4 5 8 9
1 TreeSet<String> treeSet = new TreeSet<>(); 2 treeSet.add("a"); 3 treeSet.add("b"); 4 treeSet.add("c"); 5 treeSet.add("b"); 6 7 8 for (String string : treeSet) { 9 System.out.print(string + " "); 10 } 11 //输出结果为 a b c
存储自定义对象时,需要在自定义对象中继承 Comparable接口,
并在类中重写CompareTo方法
1 public int compareTo(Student s) { 2 int num = this.age - s.age;
//结果相等时,也就是为0时,就不存储
//结果为负数,就时倒述,从大到小
//结果为正数,就是正述,从小到大
3 return num==0? this .name.compareTo(s.name): num; 4 }
二叉排序树,输出规律,先输出左子数,在根,在输出右子数,比根小就放在左边,比根大就放在右边
特点:TreeSet是用来排序的,可以指定一个顺序,对象存入后会按照指定的顺序排列
使用方法:
自然排序(Comparable)
TreeSet类的add()方法中会把存入的对象提升为Comparable类型
调用对象的compareTo()方法,和集合中的对象进行比较
根据compareTo()方法返回的结果进行存储
原文:https://www.cnblogs.com/xsh726/p/11418430.html