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

新手上路,请多包涵

如何将 Map<key,value> 转换为 List<value> ?我应该遍历所有地图值并将它们插入到列表中吗?

原文由 Javaa 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 420
2 个回答
List<Value> list = new ArrayList<Value>(map.values());

假设:

 Map<Key,Value> map;

原文由 cletus 发布,翻译遵循 CC BY-SA 2.5 许可协议

这里的问题是 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");

The keys as a List can be obtained by creating a new ArrayList from a Set returned by the Map.keySet method:

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

While the values as a List can be obtained creating a new ArrayList from a Collection returned by the Map.values method:

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

得到key的 List 的结果:

苹果
其他
你好

获取 List 值的结果:

3.14
元素
世界

原文由 coobird 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题