putIfAbsent()
方法的语法为:
hashmap.putIfAbsent(K key, V value)
在这里, hashmap是HashMap
类的对象。
putIfAbsent()参数
putIfAbsent()
方法采用两个参数。
- 键 -指定的值与此键关联
- value-指定的键与此值映射
putAbsent()返回值
- 返回与该键相关联的值 ,如果指定键是已经存在于散列映射
- 如果指定的键在哈希图中已经不存在,则返回null
注意 :如果指定的键先前与null值关联,则该方法还返回null
。
示例1:Java HashMap putIfAbsent()
import java.util.HashMap;
class Main {
public static void main(String[] args){
// create a HashMap
HashMap 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}
在上面的示例中,我们创建了一个名为language的哈希表。注意这一行,
languages.putIfAbsent(4, "JavaScript");
此处,键4尚未与任何值关联。因此, putifAbsent()
方法将映射{4 = JavaScript}添加到哈希图中。
注意这一行,
languages.putIfAbsent(2, "Swift");
此处,键2已经与值Java关联。因此, putIfAbsent()
方法不会将映射{2 = Swift}添加到哈希图中。
注意 :我们已使用put()
方法向哈希表添加单个映射。要了解更多信息,请访问Java HashMap put()。