TreeSet底层则采用一个NavigableMap来保存TreeSet集合的元素。但实际上,由于NavigableMap只是一个接口,因底层依然是使用TreeMap来包含Set集合中的所有元素。 TreeSet的部分源码: 代码解读 packagejava.util; publicclassTreeSet<E>extendsAbstractSet<E> implementsNavigableSet<E>,Cloneable,java.io.Serializable { // ...
TreeSet实现了SortedSet接口,它是一个有序的集合类,TreeSet的底层是通过TreeMap实现的。TreeSet并不是根据插入的顺序来排序,而是根据实际的值的大小来排序。TreeSet也支持两种排序方式: 自然排序 自定义排序 数据结构 继承关系 java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E> java.util...
1)TreeMap(key,唯一,而且有序,升序),底层数据结构 黑红树,而且 TreeMap 中的 key 实际上就是一个 TreeSet,如 果使用自定义对象作为 key,要求必须具备比较规则 2)使用 TreeMap 要求使用内部比较器或外部比较器 使用api和list相同 代码中定义类内部比较器 publicclassPersonimplementsComparable{privateStringname;//...