List,Map,Set三个接口存取元素时,各有什么特点

 我来答
四种甜蜜350
2020-05-03 · TA获得超过394个赞
知道小有建树答主
回答量:227
采纳率:99%
帮助的人:61.8万
展开全部
(一)List
1、可以允许重复的对象。
2、可以插入多个null元素。
3、是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。
4、常用的实现类有 ArrayList、LinkedList

Vector。ArrayList
最为流行,它提供了使用索引的随意访问,而
LinkedList
则对于经常需要从
List
中添加或删除元素的场合更为合适。
(二)Set
1、不允许重复对象。
2、无序容器,你无法保证每个元素的存储顺序,TreeSet通过
Comparator
或者
Comparable。
3、只允许一个
null
元素。
4、Set
接口最流行的几个实现类是
HashSet、LinkedHashSet
以及
TreeSet。最流行的是基于
HashMap
实现的
HashSet。
(三)map
1、Map不是collection的子接口或者实现类。Map是一个接口。
2、Map

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

TreeMap。(HashMap、TreeMap最常用)。
扩展资料
list和set、map之间的转化方式:
1、list转成set集合
Set
studentSet=studentList.stream().map(Student::getId).collect(Collectors.toSet());
2、list转成map
Map
studentMap=studentList.stream().collect(Collectors.toMap(Student::getId,a
->
a,(k1,k2)->k1));
3、list转成map并且根据student中的name进行分组
Map<String,List>
group=studentList.stream().collect(Collectors.groupingBy(Student::getName));
参考资料:百度百科-java集合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式