map putifabsent
时间: 2024-01-29 12:04:18 浏览: 81
ConcurrentMap.putIfAbsent(key,value)用法实例
`Map.putIfAbsent(key, value)` 是一个在 Map 中插入键值对的方法。如果指定的键在 Map 中不存在,则将键值对插入到 Map 中,否则不做任何操作。该方法会返回插入键值对后的值。
示例代码如下:
```java
Map<String, Integer> map = new HashMap<>();
map.put("key1", 1);
// 使用 putIfAbsent 方法插入键值对
Integer value1 = map.putIfAbsent("key1", 2); // 不会插入,返回已存在的值 1
Integer value2 = map.putIfAbsent("key2", 2); // 插入键值对,返回插入的值 2
System.out.println(value1); // 输出 1
System.out.println(value2); // 输出 2
System.out.println(map); // 输出 {key1=1, key2=2}
```
这个方法在多线程环境下可以确保原子性,在并发情况下可以避免竞态条件。
阅读全文