Java中HashMap getOrDefault(key,defaultValue)方法示例

Java中HashMap getOrDefault(key,defaultValue)方法示例

在Java中,HashMap是一种用于存储键/值对的数据结构,它是基于哈希表实现的。在Java 8中,HashMap新增了一个getOrDefault(key,默认值)方法,可以在获取指定key的value时,如果该key不存在,则返回一个默认值。

下面我们将详细介绍getOrDefault()方法的用法及示例代码。

语法

getOrDefault(Object key,V defaultValue)

参数:

  • key – 要获取value的key
  • defaultValue – 如果该key不存在,则返回的默认值。

返回值:

  • 如果在HashMap中找到指定的key,则返回该key的value。
  • 如果在HashMap中未找到指定的key,则返回defaultValue。

示例代码

下面是一个简单的Java例子,演示了如何使用getOrDefault()方法查找HashMap中不存在的key。在此示例中,我们将在HashMap中设置三个键值对,然后使用getOrDefault()方法查找key3:

import java.util.*;

public class HashMapExample {

   public static void main(String[] args) {
      //创建一个HashMap并添加键/值对
      HashMap<String, Integer> map = new HashMap<>();
      map.put("key1", 1);
      map.put("key2", 2);

      //使用getOrDefault()方法查找HashMap中不存在的key
      int value = map.getOrDefault("key3", 0);
      System.out.println("Value for key3: " + value);
   }
}

输出结果:

Value for key3: 0

在上面的示例中,我们设置了两个键值对,名为”key1″和”key2″。当使用getOrDefault()方法查找一个不存在的key(例如”key3″)时,该方法返回默认值0。

示例代码2

下面是另一个示例,演示如何使用getOrDefault()方法来在HashMap中查找指定的key和value:

import java.util.*;

public class HashMapExample {

   public static void main(String[] args) {
      //创建一个HashMap并添加键/值对
      HashMap<String, Integer> map = new HashMap<>();
      map.put("key1", 1);
      map.put("key2", 2);

      //使用getOrDefault()方法查找HashMap中的指定键值对
      int value1 = map.getOrDefault("key1", 0);
      int value2 = map.getOrDefault("key2", 0);

      System.out.println("Value for key1: " + value1);
      System.out.println("Value for key2: " + value2);
   }
}

输出结果:

Value for key1: 1
Value for key2: 2

在上面的示例中,我们使用getOrDefault()方法查找了两对键值对:”key1″和”key2″。由于这两个键都存在于HashMap中,因此该方法返回与这些键关联的value值(即1和2)。

示例代码3

下面是一个更详细的示例,演示如何创建一个HashMap,然后显示所有键/值对:

import java.util.*;

public class HashMapExample {

   public static void main(String[] args) {
      //创建一个HashMap并添加键/值对
      HashMap<String, String> map = new HashMap<>();
      map.put("USA", "Washington DC");
      map.put("Canada", "Ottawa");
      map.put("France", "Paris");
      map.put("China", "Beijing");

      //显示HashMap中的所有键/值对
      System.out.println("HashMap Contents:");
      for (Map.Entry<String, String> entry : map.entrySet()) {
         System.out.println(entry.getKey() + " --> " + entry.getValue());
      }

      //使用getOrDefault()方法查找HashMap中不存在的key
      String value = map.getOrDefault("India", "No Capital Found");
      System.out.println("Capital of India: " + value);
   }
}

输出结果:

HashMap Contents:
USA --> Washington DC
Canada --> Ottawa
France --> Paris
China --> Beijing
Capital of India: No Capital Found

在上面的示例中,我们设置了四个键值对,名为”USA”,”Canada”,”France”和”China”。然后,我们循环遍历HashMap并显示所有键/值对。最后,我们使用getOrDefault()方法查找名为”India”的key,由于该key在HashMap中不存在,因此返回默认值”No Capital Found”。

结论

getOrDefault()方法是HashMap类中非常有用的一个方法,特别是在需要设定默认值来替代未找到key时可以减少代码量。如果您需要使用HashMap类并且需要默认值,请考虑使用getOrDefault()方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程