描述
用lambada表达式在Map中对符合条件的Key的Value进行操作,其他不变。
准备Map
Map<Integer, Integer> map = new HashMap<>();
for (int i = 1; i <= 10; i++) {
map.put(i, i * 2);
}
条件和操作:
对符合key%2 == 0条件的value进行除2操作;
代码
map.keySet().stream().filter(l -> l % 2 == 0).collect(Collectors.toList()).forEach(l -> {
Integer value = map.get(l);
value /= 2;
map.put(l, value);
});
map.entrySet().forEach(System.out::println);
结果
1=2
2=2
3=6
4=4
5=10
6=6
7=14
8=8
9=18
10=10