有如下数据图:
Map<String, List<Integer>> dataMap = ....
我想将其转换为另一张 map
下面是我尝试过的解决方案
Map<String, int[]> dataMapOut = new HashMap<>();
dataMap.entrySet().stream().forEach(entry -> {
String key = entry.getKey();
int[] val = entry.getValue().stream().mapToInt(i -> i).toArray();
dataMapOut.put(key, val);
});
正在寻找更好、更简洁的映射方式?
最佳答案
您正在寻找toMap
collector .
Map<String, int[]> result = dataMap.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
e -> e.getValue()
.stream()
.mapToInt(Integer::intValue)
.toArray()));
关于java - 将 Map<String, List<Integer>> 转换为 Map<String, int[]>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49865425/