Java HashMap containsValue()方法檢查在哈希映射的一個或多個映射中是否存在指定的值。
containsValue()方法的語法為:
hashmap.containsValue(Object value)
value- value 存在于HashMap中的一個或多個映射中
如果存在指定值,則返回true
如果不存在指定值,則返回false
import java.util.HashMap; class Main { public static void main(String[] args){ // 創(chuàng)建 HashMap HashMap<Integer, String> languages = new HashMap<>(); //將映射添加到HashMap languages.put(1, "Python"); languages.put(2, "Java"); languages.put(3, "JS"); System.out.println("HashMap" + languages); //檢查值Java是否存在 if(languages.containsValue("Java")) { System.out.println("Java存在于列表中。"); } } }
輸出結(jié)果
HashMap{1=Python, 2=Java, 3=JS} Java存在于列表中。
在上面的示例中,我們創(chuàng)建了一個名為languages的哈希映射。注意這些表達(dá)式,
languages.containsValue("Java") // 返回 true
在此,映射中存在指定值Java({2 = Java})。 因此,if代碼塊被執(zhí)行,containsValue()方法將返回true和語句。
import java.util.HashMap; class Main { public static void main(String[] args){ // 創(chuàng)建 HashMap HashMap<String, String> countries = new HashMap<>(); //將映射添加到HashMap countries.put("Washington", "USA"); countries.put("Canberra", "Australia"); System.out.println("HashMap:\n" + countries); //檢查值Spain是否存在 if(!countries.containsValue("Spain")) { //如果值不存在,則添加條目 countries.put("Madrid", "Spain"); } System.out.println("更新后的 HashMap:\n" + countries); } }
輸出結(jié)果
HashMap: {Canberra=Australia, Washington=USA} 更新后的 HashMap: {Madrid=Spain, Canberra=Australia, Washington=USA}
在上面的示例中,請注意以下表達(dá)式:
if(!countries.containsValue("Spain")) {..}
在這里,我們使用了containsValue()方法來檢查哈希映射中是否存在指定的值Spain。 由于我們使用了否定符號(?。虼巳绻摲椒ǚ祷豧alse,則將執(zhí)行if塊
因此,僅當(dāng)哈希映射中沒有為指定值的映射時,才添加新映射。
注意:我們還可以使用HashMap putIfAbsent()方法執(zhí)行相同的任務(wù)。