package org.example.basic;
import java.util.HashMap;
import java.util.Map;
public class TestCompute {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Shoes", 200);
map.put("Bag", 300);
map.put("Pant", 150);
int num = cal(map, "Shoes1");
System.out.println(map);
System.out.println(num);
}
public static int cal(Map<String, Integer> map, String key) {
// 如果key不存在,则会插入这个key,并且对应的value是lambda的返回值
// 如果存在,则把对应的value,修改为返回值
return map.compute(key, (k, v) -> {
if (v == null) {
return -1;
}
return v - 100;
});
}
}
/*
{Pant=150, Shoes1=-1, Bag=300, Shoes=200}
-1
*/
HashMap的compute方法(存在此key则修改,不存在,则会进行插入)
于 2022-01-13 15:06:40 首次发布