putIfAbsent()
方法的语法是
hashmap.putIfAbsent(K key, V value)
putIfAbsent() 参数
putIfAbsent()
方法接受两个参数。
- key - 指定的 value 与此 key 相关联
- value - 指定的 key 映射到此 value
putAbsent() 返回值
- 如果指定的 key 已存在于 hashmap 中,则返回与 key 关联的 value
- 如果指定的 key 不存在于 hashmap 中,则返回 null
注意: 如果指定的 key 之前已与 null value 相关联,那么该方法也会返回 null
。
示例 1:Java HashMap putIfAbsent()
import java.util.HashMap;
class Main {
public static void main(String[] args){
// create a HashMap
HashMap<Integer, String> languages = new HashMap<>();
// add mappings to HashMap
languages.put(1, "Python");
languages.put(2, "C");
languages.put(3, "Java");
System.out.println("Languages: " + languages);
// key already not present in HashMap
languages.putIfAbsent(4, "JavaScript");
// key already present in HashMap
languages.putIfAbsent(2, "Swift");
System.out.println("Updated Languages: " + languages);
}
}
输出
Languages: {1=Python, 2=C, 3=Java} Updated Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}
在上面的示例中,我们创建了一个名为 languages 的 hashmap。请注意这一行:
languages.putIfAbsent(4, "JavaScript");
在此,键 4 尚未与任何值相关联。因此,putifAbsent()
方法将映射 {4 = JavaScript} 添加到 hashmap 中。
注意这行:
languages.putIfAbsent(2, "Swift");
在此,键 2 已与值 Java 相关联。因此,putIfAbsent()
方法不会将映射 {2 = Swift} 添加到 hashmap 中。
注意:我们使用了 put()
方法向 hashmap 添加单个映射。要了解更多信息,请访问 Java HashMap put()。