为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中将Map转换为List?

/ 猿问

如何在Java中将Map转换为List?

qq_笑_17 2019-08-14 17:01:32

如何在Java中将Map转换为List?

将a转换Map<key,value>为a 的最佳方法是List<value>什么?只是迭代所有值并将它们插入列表中或者我忽略了什么?



查看完整描述

3 回答

?
45度呼吸
List<Value> list = new ArrayList<Value>(map.values());

假设:

Map<Key,Value> map;


查看完整回答
反对 回复 6天前
?
饮歌长啸

这里的问题是它Map有两个值(一个键和一个值),而一个List只有一个值(一个元素)。


因此,可以做的最好的事情是获得一个List键或值。(除非我们使用包装器来保持键/值对)。


说我们有一个Map:


Map<String, String> m = new HashMap<String, String>();

m.put("Hello", "World");

m.put("Apple", "3.14");

m.put("Another", "Element");

作为a的键List可以通过ArrayList从方法Set返回的新建来获得Map.keySet:


List<String> list = new ArrayList<String>(m.keySet());

而作为该值List能够获得创建新的ArrayList从Collection由返回的Map.values方法:


List<String> list = new ArrayList<String>(m.values());

获取List密钥的结果:


苹果

另一个

你好

获取List值的结果:


3.14

元件

世界


查看完整回答
反对 回复 6天前
?
暮色呼如

使用Java 8 Streams API。

List<Value> values = map.values().stream().collect(Collectors.toList());


查看完整回答
反对 回复 6天前

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信