zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    竞赛200
    竞赛202
    判断是node还是 浏览器端 typeof xxx==='string'
    闷油瓶
    关于算法题
    堆 heap, 准备博客参考
    私有npm 上发布 包
    竞赛199
    正则,转换数组
    设计模式之模板设计模式-以spring的各种template为例
  • 原文地址:https://www.cnblogs.com/hesier/p/5863239.html
Copyright © 2011-2022 走看看