java自学--容器

    技术2024-05-28  107

    容器分类

    java容器主要分为三类:collection,map,iterator

    一.collection

    (一)list接口(元素有序且可以重复,通过索引来访问)

    1.ArrayList

    底层数组实现,查询快但增删慢,非线程安全。

    2.LinkedList

            底层是链表实现,查询慢但增删快

    3.Vector

             和ArrayList一样,但他是线程安全的。

    (二)queue接口

    1.PriorityQueue(优先队列)

       底层数组实现(完全二叉树),按照队列中的某个值的大小来排序。

    2.ArrayDeque

      底层循环数组实现,基于数组的双端队列。

    (三)set接口(元素无序且不允许重复)

    1.hashSet

      底层哈希表+红黑树实现。

    2.TreeSet

      底层二叉树实现。

    二.map

    1.hashMap(常见)

        底层由数组+链表实现。

        当数组长度超过阈值(8)底层由数组+链表+红黑树实现。(jdk8)

    2.hashTable(常见)

         同hashmap。区别hashTable线程安全,hashMap非线程安全。

    3.sortedMap接口(这是接口,Map->SortedMap->TreeMap)

      (1)treeMap(重点)

        基于红黑树实现。非线程安全,有序。

    4.weakHashMap

         与hashmap的区别,这是对实际对象的弱引用,hashmap则是对实际对象的强引用。

        (强引用,弱引用,软引用,虚引用在jvm的分类中,学到再说)

    5.IdentityHashMap

         与hashmap的区别,仅在key完全相等(引用相等)时才认为相等。

    6.EnumMap

        枚举类型的map。

    三.iterator

         迭代器。

     

     

     

     

     

     

     

     

     

     

     

     

     

    Processed: 0.025, SQL: 9