保证元素的唯一性是compareTo()方法,只根据compare之后进行去重
数据结构:二叉树
TreeSet的第一种排序方式:
让元素自身具备比较性。
元素需要实现comparable接口,覆写compareTo方法。
TressSer第二种排序方式:
当元素自身不具备比较性时,或者具备的比较性不是所需要的。
这时就需要让集合自身具备比较性,就定义了比较器。
定义一个类实现comparator 覆写compare方法。
TreeSet(Comparator<? super E> comparator)
构造一个新的空 TreeSet,它根据指定比较器进行排序
使用集合比较排序。
使用Comparator 的compare方法比较,
compare(T o1, T o2)
o1是要添加的元素, o2是集合中现有的元素。
根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
如果两种方式都具备时,以比较器(comparator)为主
TreeSet(Comparator<? super E> comparator)
:构造一个新的空 TreeSet,它根据指定比较器进行排序。
接口 Comparator<T>
方法:
compare(T o1, T o2)
:比较用来排序的两个参数。
equals(Object obj)
:指示某个其他对象是否“等于”此 Comparator。