跳到主要内容

Java HashMap containsValue() 方法

containsValue() 方法的语法是:

hashmap.containsValue(Object value)

这里的 hashmapHashMap 类的一个对象。

containsValue() 参数

containsValue() 方法接受单个参数。

  • value - 在 HashMap 的一个或多个映射中检查 value 是否存在

containsValue() 返回值

  • 如果指定的 value 存在,则返回 true
  • 如果指定的 value 不存在,则返回 false

示例 1:Java HashMap 的 containsValue() 方法

import java.util.HashMap;

class Main {
public static void main(String[] args){

// 创建一个 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 is present on the list.");
}

}
}

输出

HashMap{1=Python, 2=Java, 3=JS}
Java is present on the list.

在上述示例中,我们创建了一个名为 languages 的 hashmap。注意表达式,

languages.containsValue("Java") // 返回 true

这里,指定的值 Java 存在于映射中({2=Java})。因此,containsValue() 方法返回 true 并执行 if 块内的语句。

示例 2:如果值尚未存在,则向 HashMap 添加条目

import java.util.HashMap;

class Main {
public static void main(String[] args){

// 创建一个 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("Updated HashMap:\n" + countries);

}
}

输出

HashMap:
{Canberra=Australia, Washington=USA}
Updated HashMap:
{Madrid=Spain, Canberra=Australia, Washington=USA}

在上述示例中,注意表达式,

if(!countries.containsValue("Spain")) {..}

这里,我们使用了 containsValue() 方法来检查指定值 Spain 是否存在于 hashmap 中。由于我们使用了否定符号 !,如果方法返回 false,则执行 if 块。

因此,只有在 hashmap 中不存在指定 value 的映射时,才会添加新的映射。

注意:我们也可以使用 HashMap 的 putIfAbsent() 方法来执行同样的任务。