Java Map getOrDefault() 方法示例

x33g5p2x  于2022-09-24 转载在 Java  
字(2.1k)|赞(0)|评价(0)|浏览(203)

getOrDefaultjava.util.Map 的默认方法,已在 Java 8 中引入。getOrDefault 方法返回给定键的值,如果没有与该键关联的值,则指定的默认值为回来。找到方法签名。

default V getOrDefault(Object key, V defaultValue)

key 要获取的值。
defaultValue 是默认值。
返回值是与键关联的值,如果不存在,则默认值是返回值。

示例-1

在此示例中,我们使用的是 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,没有关联的值,因此我们将获得指定的默认值。

示例-2

在此示例中,我们使用的是 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

示例-3

在此示例中,我们使用的是 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]
[]

相关文章

微信公众号

最新文章

更多