美文网首页
初探Java集合框架

初探Java集合框架

作者: yyzx428 | 来源:发表于2017-08-07 10:26 被阅读0次

    集合框架UML图

    java集合UML.png

    从图中可以看出集合框架分为2大模块 Collection和Map。

    Collection

    Collection主要子类接口分为List、Set、Quene。
    List的特点是 集合中的元素可重复,因实现ListIterator接口所以提供双向迭代的功能

    以下是相关List的具体实现类

    类名 使用对象 是否实现同步 默认大小 默认扩容大小
    Vector 数组(Object[]) 10 100%
    ArrayList 数组(Object[]) 10 50%
    LinkedList 链表(内部静态类Node) 0

    Stack在Vector类的基础上增加了栈的先进后出的规则。

    Set的特点是 集合中的元素不可重复
    HashMap的数组长度总是2的多少次方

    类名 使用对象 是否实现同步 默认大小 默认扩容大小 特点
    HashSet 数组加链表 16 100% 元素插入无序,查询快
    TreeSet 树状结构 0 元素有序插入,也能按照给定规则进行比较插入

    LinkedHashSet在HashSet的基础上在每次增加元素,删除元素时,用一条链表维护元素插入时的先后顺序。

    Map

    Map是以key-value形式存储的集合

    类名 使用对象 是否实现同步 默认大小 默认加载因子 默认扩容大小 特点
    HashMap 数组加链表 16 0.75f 100% 元素无序插入,访问快
    HashTable 数组加链表 11 0.75f 100%+1 使用Enumeration进行迭代
    TreeMap 树状结构 16 0.75f 100% 有序插入
    IdentityHashMap 数组 32 100% 只要Key!=Key(即地址不等即可)
    WeakHashMap 数组加链表 16 0.75f 100% 弱引用Key(即使在内存充足时,只要这个Key不存在强引用,就会被GC给回收掉。)

    QueueQueue

    定义了队列的性质---先进先出

    ArrayDeque---双向队列

    PriorityQueue---优先级队列

    以上2种队列均采用的是数组实现的。

    相关文章

      网友评论

          本文标题:初探Java集合框架

          本文链接:https://www.haomeiwen.com/subject/rhpolxtx.html