jav*_*vaq 2 java lambda java-8
拥有如下数据地图:
Map<String, List<Integer>> dataMap = ....
Run Code Online (Sandbox Code Playgroud)
我想将它转换为另一个地图
下面,我试过的解决方案
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);
});
Run Code Online (Sandbox Code Playgroud)
寻找更好,更简洁的映射方式?
你正在寻找toMap收藏家.
Map<String, int[]> result = dataMap.entrySet()
.stream()
.collect(Collectors.toMap(Map.Entry::getKey,
e -> e.getValue()
.stream()
.mapToInt(Integer::intValue)
.toArray()));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |