List,set和map的区别

1 篇文章 0 订阅
1 篇文章 0 订阅

List 和set 是实现了collection接口
List : 1. 可以允许重复的对象
2. 可以插入多个null元素
3. 是一个有序容器 , 保持了每个元素的插入顺序, 输出的顺序就是插入的顺序
4. 常用的实现类有 ArryList , LinkedList 和Vector ArryList最为流行 , 他提供了使用索引的随意访问, 而LinkedList 则对于经常需要从List中添加或删除元素的场合更为合适

Set : 1. 不允许重复对象
2. 无序容器, 你无法保证每个元素的存储顺序 , TreeSet 通过Comparator或者Comparable维护了一个排序顺序
3. 只允许一个null元素
4. Set接口最流行的几个实现类是HashSet ,LinkedHashSet 以及TreeSet 最流行的是基于HashMap实现的HashSet , TreeSet 还实现了 SortrdSet 接口
因此TreeSet是一个根据其compare() 和compareTo()的定义进行排序的有序容器

Map : 不是collection的子类接口或实现类 Map是一个接口
1. Map的每个Entry 都持有两个对象 , 也就是一个键一个值 , Map 可能会有持有相同的值对象但键对象必须是唯一的
2. TreeMap也通过Comparator 或者Comparable 维护了一个排序顺序
3. Map里你可以拥有随意个null 值但最多只能有一个null键
4. Map接口最流行的几个实现类是HashMap , LinkedHashMap , Hashtable 和TreeMap (HashMap , TreeMap最常用)

总结: list set map

  1. List中的元素,有序、可重复、可为空;
  2. Set中的元素,无序、不重复、只有一个空元素;
  3. Map中的元素,无序、键不重,值可重、可一个空键、多个空值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值