面试题汇总--List 、 Set 、Map 三种集合之间的区别

List 、Set 是实现了Collection接口的子接口;而Map是另一个集合接口;(Collection接口和Map接口是平级的)

区别:

1、元素重复性:

(1)、 List  允许有重复的元素。任何数量的重复元素都可以在不影响现有重复元素的值及其索引的情况下插入到List集合中;

(2)、 Set  集合不允许元素重复。Set以及所有实现了Set接口的类都不允许重复值的插入,若多次插入同一个元素时,在该集合中只显示一个;

(3)、Map  以键值对的形式对元素进行存储。Map不允许有重复键,但允许有不同键对应的重复的值;

2、元素的有序性:

(1)、 List  及其所有实现类保持了每个元素的插入顺序;

(2)、Set  中的元素都是无序的;但是某些Set的实现类以某种殊形式对其中的元素进行排序,如:LinkedHashSet按照元素的插入顺序进行排序;

(3)、 Map  跟Set一样对元素进行无序存储,但其某些实现类对元素进行了排序。如:TreeMap根据键对其中的元素进行升序排序;

3、 元素是否为空值:

(1)、List  允许任意数量的空值;

(2)、Set  最多允许一个空值的出现;[ 当向Set集合中添加多个null值时,在该Set集合中只会显示一个null元素]

(3)、Map  只允许出现一个空键,但允许出现任意数量的空值;

4、实现类(扩展)

(1)、 List:ArrayList、LinkedList;

(2)、 Set:HashSet、LinkedHashSet、TreeSet、SortedSet等等;

(3)、 Map:HashMap、TreeMap、WeakHashMap、LinkedHashMap、IdentityHashMap等等;
 

总结:

     List  中的元素,有序、可重复、可为空;

     Set  中的元素,无序、不重复、只有一个空元素;

     Map 中的元素,无序、键不重,值可重、只可一个空键、可多空值;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值