getOrDefault
是 java.util.Map
的默认方法,已在 Java 8 中引入。getOrDefault
方法返回给定键的值,如果没有与该键关联的值,则指定的默认值为回来。找到方法签名。
default V getOrDefault(Object key, V defaultValue)
key 要获取的值。
defaultValue 是默认值。
返回值是与键关联的值,如果不存在,则默认值是返回值。
在此示例中,我们使用的是 HashMap
。
GetOrDefault1.java
import java.util.HashMap;
import java.util.Map;
public class GetOrDefault1 {
public static void main(String[] args) {
Map<Integer, String> studentMap = new HashMap<>();
studentMap.put(101, "Mahesh");
studentMap.put(102, "Suresh");
studentMap.put(103, "Krishna");
String defaultValue = "No Student";
String stdName = studentMap.getOrDefault(102, defaultValue);
System.out.println(stdName);
stdName = studentMap.getOrDefault(104, defaultValue);
System.out.println(stdName);
stdName = studentMap.getOrDefault(105, defaultValue);
System.out.println(stdName);
}
}
输出
Suresh
No Student
No Student
至于键 102,在 Map
中有关联的值,所以我们得到那个值。对于键 104 和 105,没有关联的值,因此我们将获得指定的默认值。
在此示例中,我们使用的是 LinkedHashMap
。
GetOrDefault2.java
import java.util.LinkedHashMap;
import java.util.Map;
public class GetOrDefault2 {
public static void main(String[] args) {
Map<Integer, Integer> numberMap = new LinkedHashMap<>();
numberMap.put(1, 100);
numberMap.put(2, 200);
numberMap.put(3, 300);
Integer defaultValue = 0;
Integer val = numberMap.getOrDefault(2, defaultValue);
System.out.println(val);
val = numberMap.getOrDefault(6, defaultValue);
System.out.println(val);
val = numberMap.getOrDefault(7, defaultValue);
System.out.println(val);
}
}
输出
200
0
0
在此示例中,我们使用的是 TreeMap
。
GetOrDefault3.java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class GetOrDefault3 {
public static void main(String[] args) {
Map<String, List<String>> treeMap = new TreeMap<>();
treeMap.put("color", Arrays.asList("Orange", "Yellow"));
treeMap.put("game", Arrays.asList("Cricket", "Hockey"));
List<String> defaultValue = new ArrayList<>();
List<String> val = treeMap.getOrDefault("game", defaultValue);
System.out.println(val);
val = treeMap.getOrDefault("city", defaultValue);
System.out.println(val);
}
}
输出
[Cricket, Hockey]
[]
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.concretepage.com/java/java-8/java-map-getordefault
内容来源于网络,如有侵权,请联系作者删除!