java 如何把hashmap
如何将 HashMap 转换为 List
将 HashMap 转换为 List 通常涉及提取键、值或键值对(Map.Entry)并存储到列表中。以下是几种常见的方法:
提取键到 List
使用 keySet() 方法获取所有键,并通过 ArrayList 构造函数转换为 List:

HashMap<String, Integer> map = new HashMap<>();
List<String> keyList = new ArrayList<>(map.keySet());
提取值到 List
使用 values() 方法获取所有值,并通过 ArrayList 构造函数转换为 List:

List<Integer> valueList = new ArrayList<>(map.values());
提取键值对到 List
通过 entrySet() 获取键值对集合,并转换为 List:
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(map.entrySet());
使用 Java 8 Stream API
若需进一步处理(如过滤或映射),可以使用 Stream:
键或值的流式转换
List<String> filteredKeys = map.keySet().stream()
.filter(key -> key.startsWith("prefix"))
.collect(Collectors.toList());
键值对流式转换
List<Map.Entry<String, Integer>> sortedEntries = map.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toList());
注意事项
- 转换后的
List是独立的副本,修改不会影响原HashMap。 - 若需保持顺序,可使用
LinkedHashMap作为源映射。 - 对于自定义对象,确保正确实现
hashCode()和equals()方法。






