要将Java Map中的空值替换为默认值,代码如下
import java.util.*; import java.util.stream.*; public class Demo{ public static Map null_vals(Map 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 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("具有null值的映射为 : "+ my_map); my_map = null_vals(my_map, defaultValue); System.out.println("替换null值的映射为 : " + my_map); } }
输出结果
具有null值的映射为 : {1=null, 2=56, 3=null, 4=99} 替换null值的映射为 : {1=0, 2=56, 3=0, 4=99}
一个名为Demo的类包含一个名为“null_vals”的函数,该函数检查数组中的null值并将其替换为之前定义的默认值。在main函数中,创建一个Map实例,并使用' put '函数将元素推入其中。在这个映射上调用' null_vals '函数,将null值替换为默认值。