黑马程序员技术交流社区

标题: JavaSE的TreeSet [打印本页]

作者: F灬灬    时间: 2015-8-26 00:00
标题: JavaSE的TreeSet
1:TreeSet:数据元素可以排序且不可重复
对比:Set接口:HashSet,元素必须重写HashCode和equals方法,
去重:比较等于0即重复.
1)元素可以排序 java.lang.Compale+compareTo
new TreeSet()
2)排序业务类 java.util.Comparator+compare
new TreeSet(Comparator<?super E>comparator)
注意:添加数据时排序,数据更改不会影响原来的顺序,不要修改数据,否则可能重复
2:TreeMap:要求键,与上TreeSet同理

默认情况下TreeSet要求集合中的元素必须实现Comparable接口。
Comparable接口只有一个方法:
public int comparTo(T o):若返回0代表两个元素相等,若返回整数则代表当前元素大,若返回负数,代表当前元素小
TreeSet会调用每个元素的comparTo()方法去和集合中的每个已经有的元素去比较,进而决定当前元素在集合中的位置





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2