map.putIfAbsent
时间: 2023-09-04 13:12:33 浏览: 106
map.putIfAbsent方法是一个Java的Map接口的方法,用于将指定的键值对添加到Map中,但是只有在该键不存在时才会执行添加操作。如果指定的键已经存在于Map中,则putIfAbsent方法不会执行任何操作,也不会改变原有的键值对。
该方法的签名如下:
V putIfAbsent(K key, V value)
其中,key表示要添加到Map中的键,value表示要与键关联的值。如果key不存在于Map中,则将key和value添加到Map中,并返回null。如果key已经存在于Map中,则不执行任何操作,并返回与key关联的当前值。
示例代码如下所示:
```java
Map<String, Integer> map = new HashMap<>();
map.put("key1", 1);
// 添加新的键值对
Integer oldValue = map.putIfAbsent("key2", 2);
System.out.println(oldValue); // 输出:null
// 对已存在的键执行putIfAbsent操作
oldValue = map.putIfAbsent("key1", 3);
System.out.println(oldValue); // 输出:1,因为键"key1"已经存在,不执行任何操作并返回当前值1
```
在上述示例中,首先通过put方法向map中添加了一个键值对"key1"和1。然后使用putIfAbsent方法尝试将键"key2"和值2添加到map中,由于"key2"不存在于map中,所以成功添加,并返回null。接着再次使用putIfAbsent方法尝试将键"key1"和值3添加到map中,由于"key1"已经存在于map中,所以不执行任何操作,并返回与"key1"关联的当前值1。
阅读全文