java putIfAbsent
时间: 2023-10-19 09:36:15 浏览: 165
Java并发程序设计教程
`putIfAbsent` 是 Java 中 `Map` 接口定义的一个方法。它的作用是在指定的键不存在时,将指定的值与键关联起来,并将其放入 `Map` 中。
具体语法如下:
```java
V putIfAbsent(K key, V value)
```
参数解释:
- `key`:要关联的键。
- `value`:要与键关联的值。
该方法的返回值表示与给定键关联的旧值。如果键不存在,则返回 `null`。
示例用法:
```java
Map<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.putIfAbsent(2, "Python");
map.putIfAbsent(1, "C++");
System.out.println(map); // 输出: {1=Java, 2=Python}
```
在上面的示例中,我们先使用 `put` 方法将键值对 `(1, "Java")` 放入 `map` 中。然后使用 `putIfAbsent` 方法尝试将键值对 `(2, "Python")` 放入 `map` 中,因为键 `2` 之前并不存在,所以成功放入。最后又使用 `putIfAbsent` 方法尝试将键值对 `(1, "C++")` 放入 `map` 中,但由于键 `1` 已经存在,所以不会发生变化。最终输出 `map` 的内容为 `{1=Java, 2=Python}`。
阅读全文