Java HashMap containsValue() 方法
containsValue()
方法的语法是:
hashmap.containsValue(Object value)
这里的 hashmap
是 HashMap
类的一个对象。
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() 方法来执行同样的任务。