zoukankan      html  css  js  c++  java
  • Java集合类总结

    Java的集合类关系图,摘自网络:





    List:

    1,ArrayList:内部采用数组存储结构;随机查找效率高,增删效率低;线程不安全;

    2,LinkedList:内部采用链表存储结构;增删效率高,查找效率低;线程不安全;

    3,Vector:与ArrayList没啥区别,源码也和ArrayList实现类似;自带同步,线程安全;

    4,Stack:继承自Vector;提供push,pop方法,先进后出;线程安全;

    5,Queue:为什么归到这里呢?本来是单独的一类,不过在SUN的JDK里就是用LinkedList来提供这个功能的,主要方法是offer/pull/peek。


    Set:add/remove。

    1,HashSet:内部采用HashMap实现的;线程不安全;

    2,LinkedHashSet:内部采用LinkedHashMap实现;线程不安全;

    3,TreeSet:内部采用TreeMap实现;线程不安全;

    Map:put/get/remove。

    1,HashMap:依据hash表,内部用数组链表实现;线程不安全;

    2,HashTable:依据hash表,内部用数组链表实现;自带同步,线程安全;

    3,ConcurrentHashMap:由于HashMap没有实现同步,执行效率比HashTable高;而HashTable自带同步,当表很大时,执行效率就会很低,ConcurrentHashMap综合了

    HashMap和HashTable的优点:实现了线程同步,而且是用分桶的做法,将元素划分到一个个桶中,然后分别对每个桶加锁,这样,就能实现多个桶之间访问数据的并发,提

    高了执行效率;线程安全;

    4,LinkedHashMap:继承自HashMap,但在数组的基础上实现了链表功能,各个元素(节点)之间存在前后引用的关系,通过重写嵌套类HashMap.Entry实现了链表结构,

    同样有容量的问题;

    5,Properties:继承自HashTable。

    6,WeekHashMap:用于在系统GC时的垃圾回收,可参考文章:java对象:强,软,弱和虚引用详解


    后续继续追加。

  • 相关阅读:
    品质家居 生活之魅
    珍爱之礼 美妙感受
    节日礼物清单
    2014新年礼物推荐清单
    Python元组
    python更新列表
    Python列表
    Python 数字
    Python字符串
    python标准数据类型
  • 原文地址:https://www.cnblogs.com/marcotan/p/4256892.html
Copyright © 2011-2022 走看看