转自:http://www.cnblogs.com/gaoxing/p/4271749.html
这个方法在key不存在的时候加入一个值,如果key存在就不放入,等价:
if (!map.containsKey(key)) return map.put(key, value); else return map.get(key);
public class Test {
public staticvoid main(String[] args) {
ConcurrentHashMap<String,String> map=new ConcurrentHashMap<String,String>();
String temp=map.putIfAbsent("a", "a1");
System.out.println(map.get("a"));
System.out.println("temp======"+ temp);
temp=map.putIfAbsent("a","a2");
System.out.println(map.get("a"));
System.out.println("temp======"+ temp);
temp=map.putIfAbsent("a","a3");
System.out.println(map.get("a"));
System.out.println("temp======"+ temp);
}
}
运行结果:
a1
temp======null
a1
temp======a1
a1
temp======a1