[java] view plain copy if(!map.containsKey(key)) return map.put(key,value); else return map.get(key) 像putIfAbsent()方法一样,重载后的remove()方法有两个参数:键和值。在调用时,只有当键映射到指定的值时才从map中删除这个键。如果不匹配,那么就不删除这个键,并返回false。如果值匹配键的当前映射内容,那么就删除这个键,这个方法是原子性的。这种操作的等价源代码(除了原子地执行此操作之外): [java] view plain copy if(map.containsKey(key) && map.get(key).equals(value)){ map.remove(key); return true; }else return false; 总之,ConcurrentMap中定义的方法是原子性的。
