方法都很簡單, 不解釋了. 如何用java8 的新api改為更優(yōu)雅的 一行代碼格式?
void addOne(Map<String, Integer> map,
String key,
int increment,
int defVal){
if(map.containsKey(key))
map.put(key, map.get(key) + increment);
else
map.put(key, defVal);
}
void addString(Map<String, Set<String>> map,
String key,
String val){
if(!map.containsKey(key))
map.put(key, new HashSet<>());
map.get(key).add(val);
}
認(rèn)證高級PHP講師
It should be possible to use several tool methods provided by the Map interface, as follows:
void addOne(Map<String, Integer> map,
String key,
int increment,
int defVal){
// map.compute(key, (k, v) -> key.equals(k) ? v + increment : defVal);
map.compute(key, (k, v) -> v == null ? defVal : v + increment)
}
void addString(Map<String, Set<String>> map,
String key,
String val){
map.computeIfAbsent(key, k -> new HashSet<>()).add(val);
}