如果指定的鍵沒有出現(xiàn)在HashMap中,Java HashMap putIfAbsent()方法將指定的鍵/值映射插入到HashMap中。
putIfAbsent()方法的語法為:
hashmap.putIfAbsent(K key, V value)
putIfAbsent()方法有兩個(gè)參數(shù)。
key - 指定的值與key映射
value - 值與鍵相關(guān)聯(lián)
如果指定的鍵已經(jīng)存在于哈希圖中,則返回與鍵關(guān)聯(lián)的值。
如果指定的鍵在哈希映射中不存在,則返回null
注意: 如果先前指定了null值,則返回null值。
import java.util.HashMap;
class Main {
public static void main(String[] args){
// 創(chuàng)建 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");
//鍵出現(xiàn)在HashMap中
languages.putIfAbsent(2, "Swift");
System.out.println("更新后的 Languages: " + languages);
}
}輸出結(jié)果
Languages: {1=Python, 2=C, 3=Java}
更新后的 Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的哈希映射。注意這一行,
languages.putIfAbsent(4, "JavaScript");
此處,鍵4尚未與任何值關(guān)聯(lián)。因此,putifAbsent()方法將映射{4 = JavaScript}添加到哈希映射中。
注意這一行,
languages.putIfAbsent(2, "Swift");
此處,鍵2已經(jīng)與值Java相關(guān)聯(lián)。 因此,putIfAbsent()方法不會(huì)將映射{2 = Swift}添加到哈希映射中。
注意:我們已使用put()方法將單個(gè)映射添加到哈希映射。要了解更多信息,請?jiān)L問Java HashMap put()。