一下方法都很简单, 不解释了. 如何用java8 的新api改为更优雅的 一行代码格式?
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);
}
使用Map接口提供的几个工具方法应该可以,如下:
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);
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。