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()方法。