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 次  |  
        
|   最近记录:  |