Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Thay thế giá trị null bằng giá trị mặc định trong Java Map

Để thay thế giá trị null bằng giá trị mặc định trong Java Map, mã như sau:

Ví dụ

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); 
    } 
}

Kết quả

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}

Một lớp tên Demo chứa hàm 'null_vals' kiểm tra giá trị null trong map và thay thế bằng giá trị mặc định định nghĩa trước. Trong hàm main, thể hiện Map được tạo và phần tử được đẩy vào bằng hàm 'put'. Hàm 'null_vals' được gọi trên map này và giá trị null được thay thế bằng giá trị mặc định.