zoukankan      html  css  js  c++  java
  • TreeSet和LinkedHashSet类

    1、TreeSet

    • TressSet是一个基于Tree Map的Navigable Set实现。这些元素使用它们自然排序或者在创建的时提供Comparator进行排序,具体取决于使用的构造函数。此实现为基本操作add、remove和contains提供了log(n)的时间成本。
    • 这个实现不是线程安全的,如果多线程并发访问了TreeSet,并且至少一个线程修改了set,必须进行外部加锁,或者使用Sorted Set s =Collections.synchronizedSortedSet(new TreeSet(...))。
    • 这个实现持有fail-fast机制。

    2、LinkedHashSet类

    LinkedHashSet类继承于Set,LinkedHashSet类的继承体系:

     

    • LinkedHashSet是Set接口的Hash表和LinkedList的实现,这个实现不同于Hash Set的是它维护着一个贯穿所有条目的双向链表。此链表定义了元素插入集合的顺序。注意:如果元素重新插入,则插入顺序不会受到影响。
    • LinkedHashSet有两个影响其构成的参数:初始容量和加载因子。它们的定义于Hash Set完全相同。但是对于LinkedHashSet,选择过高的初始容量值的开销要比Hash Set小,因为LinkedHashSet的迭代次数不受容量影响。
    • LinkedHashSet也不是线程安全的,如果多线程同时访问LinkedHashSet,必须加锁,或者通过使用Collections.synchronizedSet。该类也支持fail-fast机制。
    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    Warning:mailcious javascript detected on this domain来由
    CSS盒模型重新理解篇
    sublime生产力提升利器
    Aptana studio 3前端开发编辑器推荐
    Provides PHP completions for Sublime Text
    关于google电子地图跟卫星地图位置不重合
    无名前端库
    npm 编写cli
    webpack.merge
    ExcelDNA UDF 攻略
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14410062.html
Copyright © 2011-2022 走看看