如果指定的鍵沒(méi)有出現(xiàn)在HashMap中,Java HashMap putIfAbsent()方法將指定的鍵/值映射插入到HashMap中。
putIfAbsent()方法的語(yǔ)法為:
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è)映射添加到哈希映射。要了解更多信息,請(qǐng)?jiān)L問(wèn)Java HashMap put()。