ในการแทนที่ค่า Null ด้วยค่าเริ่มต้นใน Java Map โค้ดจะเป็นดังนี้ -
ตัวอย่าง
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' ซึ่งจะตรวจสอบค่า null ในอาร์เรย์และแทนที่ด้วยค่าเริ่มต้นที่กำหนดไว้ก่อนหน้านี้ ในฟังก์ชันหลัก อินสแตนซ์แผนที่จะถูกสร้างขึ้นและองค์ประกอบต่างๆ จะถูกผลักเข้าไปโดยใช้ฟังก์ชัน 'วาง' มีการเรียกใช้ฟังก์ชัน 'null_vals' บนแผนที่นี้ และค่า Null จะถูกแทนที่ด้วยค่าเริ่มต้น