如何使用流来减少多个for循环的使用

问题描述 投票:0回答:1

有一个已经存在的地图,我想过滤它并将其添加到另一个地图。我已经使用 for 循环完成了它,但我正在尝试找到一种更有效的方法来使用流和过滤器来完成它。

现有地图,其中已包含信息:

Map <String,String> infos = new Map<>();

for (String i : infos.keySet()){
   Set<Integer> sets = new Set<>();
   sets.add(Integer.parseInt(i));
}

for (Integer i:sets){
   Map <Integer,String> matches = new Map<>()
   matches.put(i,infos.get(i.toString());
}
java filter java-stream
1个回答
0
投票

你可以做

    Map<String, String> infos = new HashMap<>();

    Map<Integer, String> result = infos.entrySet().stream()
            .collect(Collectors.toMap(
                    k -> Integer.parseInt(k.getKey()), 
                    Map.Entry::getValue));
© www.soinside.com 2019 - 2024. All rights reserved.