JAVA 集合: Collection ; Map

常用集合各个区别:

              collection接口单列集合,下有两个子接口:

        List接口:(有序,可重复)  

             有三个实现类:

              LinkedList链表增删快,查找慢,基于链表,每一个元素存储本身内存地址的同时还存储下一个元素的地址。

              ArrayList:   增删慢,查找快,基于数组;每次增删都要创建新的数组,但数组有索引。

               Vector:基于数组,线程安全的,效率低

        set接口:(不可重复)

            HashSet:存储的元素无序,不可重复,底层是哈希表

               LinkedHashSet:存储的元素有序,不可重复,底层是哈希表和链表的结合

            TreeSet  有序 可以对set集合中的元素进行排序,默认按照asic码表的自然顺序排序 底层是二叉树

                  数据越多越慢,TreeSet是依靠TreeMap来实现的

    Map接口:(双列集合)

        有三个实现类(HashMap,HashTable,TreeMap)

            HashMap:无序 非线程安全,高效,支持 null;

            LinkedHashMap:有序 是 HashMap 的一个子类,保存了记录的插入顺序

            HashTable:无序  线程安全,低效,不支持 null;

            TreeMap: 有序 能够把它保存的记录根据键排序,默认是键值的升序排序

暂时就这么多了,欢迎大家支出错误和补充!

猜你喜欢

转载自www.cnblogs.com/liglacier/p/11393978.html