java基础--Set、List和Map的区别

    xiaoxiao2025-06-16  9

    总括:

    Collection是最基本的集合接口,里面存放单个的Object元素。JavaJDK提供的类都继承了Collection的子接口

    Map没有继承Collection接口,Map里存放key-value。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。

    1、Set

           Set  里面放的是无序的不重复的元素。两个实现类:HashSet,LinkedHashSet.HashSet底层也是由HashMap实现,所以存放是无序的。

    2、List

           List 里面放的是有序的可以重复的元素。               

                 List接口有三个实现类:LinkedList,ArrayList,Vector 

    LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 

    ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;

    Vector是基于线程安全的,效率低 

     

     

    3、Map

          Map存储方式key-value。       

         Map接口有三个实现类:HashMap,HashTable,LinkeHashMap

    HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null

    SortedMap有一个实现类:TreeMap

     

    4、如何选取

          

    list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对

    set 一般无序不重复.mapkv 结构 list 有序

     

    就个人而言.list用的比较多. 其次map  最后set 至于什么情况下使用什么集合.看情况了.也不好说.也没那么绝对.

    转载请注明原文地址: https://ju.6miu.com/read-1300003.html
    最新回复(0)