如果指定的键没有出现在HashMap中,Java HashMap putIfAbsent()方法将指定的键/值映射插入到HashMap中。
putIfAbsent()方法的语法为:
hashmap.putIfAbsent(K key, V value)
putIfAbsent()方法有两个参数。
key - 指定的值与key映射
value - 值与键相关联
如果指定的键已经存在于哈希图中,则返回与键关联的值。
如果指定的键在哈希映射中不存在,则返回null
注意: 如果先前指定了null值,则返回null值。
import java.util.HashMap; class Main { public static void main(String[] args){ // 创建 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); //键不在HashMap中 languages.putIfAbsent(4, "JavaScript"); //键出现在HashMap中 languages.putIfAbsent(2, "Swift"); System.out.println("更新后的 Languages: " + languages); } }
输出结果
Languages: {1=Python, 2=C, 3=Java} 更新后的 Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}
在上面的示例中,我们创建了一个名为languages的哈希映射。注意这一行,
languages.putIfAbsent(4, "JavaScript");
此处,键4尚未与任何值关联。因此,putifAbsent()方法将映射{4 = JavaScript}添加到哈希映射中。
注意这一行,
languages.putIfAbsent(2, "Swift");
此处,键2已经与值Java相关联。 因此,putIfAbsent()方法不会将映射{2 = Swift}添加到哈希映射中。
注意:我们已使用put()方法将单个映射添加到哈希映射。要了解更多信息,请访问Java HashMap put()。