List、Map、Set的区别与联系
一、结构特点
-
List
和
Set
是存储
单列数据的集合
,
Map
是存
储键值对这样的双列数据的集合
; -
List
中存储的数据是有顺序的,并且值允许重复;
Map
中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;
Set
中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(
Set
集合是根据hashcode来进行数据存储的,所以位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的)。
二、实现类
-
List
接口有三个实现类:
1.1
LinkedList
基于链表实现,链表内存是散列的,增删快,查找慢;
1.2
ArrayList
基于数组实现,非线程安全,效率高,增删慢,查找快;
1.3
Vector
基于数组实现,线程安全,效率低,增删慢,查找慢; -
Map
接口有四个实现类:
2.1
HashMap
版权声明:本文为yangxingpa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。