📜  Java HashMap containsValue()

📅  最后修改于: 2020-09-27 00:39:36             🧑  作者: Mango

Java HashMap containsValue()方法检查在哈希映射的一个或多个映射中是否存在指定的值。

containsValue()方法的语法为:

hashmap.containsValue(Object value)

在这里, hashmapHashMap类的对象。


containsValue()参数

containsValue()方法采用单个参数。

  • 存在于HashMap中的一个或多个映射中

containsValue()返回值
  • 如果存在指定值,则返回true
  • 如果不存在指定值,则返回false

示例1:Java HashMap containsValue()
import java.util.HashMap;

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

    // create a HashMap
    HashMap languages = new HashMap<>();

    // add mappings to HashMap
    languages.put(1, "Python");
    languages.put(2, "Java");
    languages.put(3, "JS");
    System.out.println("HashMap" + languages);

    // check if value Java is present
    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.

在上面的示例中,我们创建了一个名为language的哈希表。注意这些表达式

languages.containsValue("Java") // returns true

此处,映射中存在指定值Java ( {2=Java} )。因此, if执行block, containsValue()方法将返回true并在其中声明。


示例2:如果尚未存在Value,则将条目添加到HashMap
import java.util.HashMap;

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

    // create a HashMap
    HashMap countries = new HashMap<>();

    // add mappings to HashMap
    countries.put("Washington", "USA");
    countries.put("Canberra", "Australia");
    System.out.println("HashMap:\n" + countries);

    // check if the value Spain is present
    if(!countries.containsValue("Spain")) {
      // add entry if Value already not present
      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 。由于我们使用了否定符号!if方法返回false则执行if块。

因此,仅当哈希图中没有为指定值的映射时,才添加新映射。

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