TreeSet对String是可排序的

  • TreeSet集合底层实际上是一个TreeMap
  • TreeMap集合底层是一个二叉树
  • 放到TreeSet集合里的元素,等同于放到了TreeMap集合的Key部分
  • TreeSet集合中的元素:无序不可重复,但是可以按照元素大小自动排序,即可排序集合。

TreeSet集合放进去,再拿出来就是有顺序的
自定义类型需要去实现Comparable接口,并重写compareTo方法,设定比较规则

第二种排序的底层实现
利用比较器
Comparable是java.lang包下的,Comparator是util包下的
通过TreeSet(Comparator comparator)的有参构造方法,

Comparable和Comparator如何选择

当比较规则不会发生改变,或者说比较规则只有一个的时候,建议实现comparable接口
如果比较规则有多个,并且需要多个比较规则之间频繁切换时,建议使用comparator接口
Comparator接口的设计符合OCP原则

posted @ 2021-03-05 10:48  UltraBlast  阅读(294)  评论(0)    收藏  举报