TreeMap and TreeSet

Posted Hesier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeMap and TreeSet相关的知识,希望对你有一定的参考价值。

TreeMap实现了SortedMap接口,也就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身的自然顺序(natural ordering),也可以通过构造时传入的比较器(Comparator)。TreeMap底层通过红黑树(Red-Black tree)实现,也就意味着containsKey()get()put()remove()都有着log(n)的时间复杂度。

TreeMap是非同步的(not synchronized),如果需要在多线程环境使用,可以将TreeMap包装成同步的:

    SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));  

TreeMap的iterator 方法返回的迭代器是fail-fast的。

 

TreeMap的构造函数

// 默认构造函数。使用该构造函数,TreeMap中的元素按照自然排序进行排列。
TreeMap()
// 创建的TreeMap包含Map
TreeMap(Map<? extends K, ? extends V> copyFrom)
// 指定Tree的比较器
TreeMap(Comparator<? super K> comparator)
// 创建的TreeSet包含copyFrom
TreeMap(SortedMap<K, ? extends V> copyFrom)

 

以上是关于TreeMap and TreeSet的主要内容,如果未能解决你的问题,请参考以下文章

TreeSet和TreeMap

在TreeSet和TreeMap中使用hashCode()和equals()

Java 数据结构TreeMap和TreeSet的介绍

Java 数据结构TreeMap和TreeSet的介绍

Java 数据结构TreeMap和TreeSet的介绍

Java集合框架 Map接口实现类--TreeMap的使用 & TreeMap和TreeSet的关系