putIfAbsent put list
时间: 2024-10-21 21:01:09 浏览: 31
`putIfAbsent()` 是 Java 中 `Map` 接口提供的一种方法,用于将指定键值对添加到 map 中,如果该键已经存在,则不做任何操作并返回原有的值。简而言之,这个方法检查给定键是否已经在 map 中,如果不存在则将其放入,并返回 `null` 或者插入前的旧值(如果有)。
例如,对于一个 `HashMap<String, String>`:
```java
Map<String, String> map = new HashMap<>();
String value = map.putIfAbsent("key", "defaultValue");
if (value != null) {
System.out.println("Key already existed and old value was: " + value);
} else {
System.out.println("Key added with default value.");
}
```
在列表(List)中,通常没有直接的 `putIfAbsent` 功能,因为列表是有序的集合,不像 Map 需要查找键来插入值。但是,如果你想要在列表中避免重复添加元素,可以先检查元素是否存在:
```java
List<String> list = new ArrayList<>();
if (!list.contains("element")) {
list.add("element");
}
```
这里并没有类似 Map 的原子操作,而是线程安全地检查并添加。
阅读全文