1,计算两个字符串表示的数字的和。
2,设计一个多key的并发计数器,分别使用java6,java8语法写出来
int inc(Map<String, AtomicInteger> map, String key) {
AtomicInteger cnt = map.get(key);
if (cat != null) {
return cnt.incAndGet();
} else {
synchorized(map) {
cnt = map.get(key);
if (cnt == null) {
cnt = new AtomicInteger();
map.put(key, cnt);
}
}
return cnt.incAndGet();
}
java8一行代码
ConcurrentMap<String, Integer> map;
map.merge(key, 1, Integer::sum);