三大集合:List、Map、Set的区别与联系

  • Post author:
  • Post category:其他


List、Map、Set的区别与联系

一、结构特点


  1. List



    Set

    是存储

    单列数据的集合



    Map

    是存

    储键值对这样的双列数据的集合


  2. List

    中存储的数据是有顺序的,并且值允许重复;

    Map

    中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;

    Set

    中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(

    Set

    集合是根据hashcode来进行数据存储的,所以位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的)。

二、实现类


  1. List

    接口有三个实现类:

    1.1

    LinkedList


    基于链表实现,链表内存是散列的,增删快,查找慢;

    1.2

    ArrayList


    基于数组实现,非线程安全,效率高,增删慢,查找快;

    1.3

    Vector


    基于数组实现,线程安全,效率低,增删慢,查找慢;

  2. Map

    接口有四个实现类:

    2.1

    HashMap



版权声明:本文为yangxingpa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。