在 Java Map 中用預設值替換空值


要在 Java Map 中用預設值替換空值,程式碼如下 −

示例

 Live Demo

import java.util.*;
import java.util.stream.*;
public class Demo{
   public static <T, K> Map<K, T> null_vals(Map<K, T> my_map, T def_val){
      my_map = my_map.entrySet().stream().map(entry -> {
         if (entry.getValue() == null)
         entry.setValue(def_val);
         return entry;
      })
      .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
      return my_map;
   }
   public static void main(String[] args){
      Map<Integer, Integer> my_map = new HashMap<>();
      my_map.put(1, null);
      my_map.put(2, 56);
      my_map.put(3, null);
      my_map.put(4, 99);
      int defaultValue = 0;
      System.out.println("The map with null values is : "+ my_map);
      my_map = null_vals(my_map, defaultValue);
      System.out.println("The map with null values replaced is : " + my_map);
   }
}

輸出

The map with null values is : {1=null, 2=56, 3=null, 4=99}
The map with null values replaced is : {1=0, 2=56, 3=0, 4=99}

一個名為 Demo 的類包含一個名為“null_vals”的函式,用於檢查陣列中的空值並將其替換為之前定義的預設值。在主函式中,建立一個 Map 例項,並使用“put”函式將元素推入其中。“null_vals”函式在此 map 上呼叫,空值替換為預設值。

更新於: 2020 年 7 月 8 日

1K+ 瀏覽次數

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.