Dado un mapa con valores nulos, la tarea es reemplazar todos los valores nulos con un valor predeterminado.
Ejemplos:
Entrada : mapa = {1=1, 2=2, 3=nulo, 4=4, 5=nulo, 6=nulo}, valor predeterminado = 0
Salida : {1=1, 2=2, 3=0, 4= 4, 5=0, 6=0}Entrada : map = {1=A, 2=B, 3=null, 4=D, 5=null, 6=null}, defaultValue = ‘Z’
Salida : {1=A, 2=B, 3=Z, 4=D, 5=Z, 6=Z}
Acercarse:
- Obtenga el mapa con valores nulos y el valor predeterminado con el que se reemplazará.
- Obtenga la vista establecida del Mapa usando el método Map.entrySet() .
- Convierta la vista del conjunto obtenido en flujo usando el método stream() .
- Ahora asigne los valores nulos al valor predeterminado con la ayuda del método map().
- Recopile la secuencia modificada en Map utilizando el método collect().
- Los valores nulos se han reemplazado correctamente con el valor predeterminado.
A continuación se muestra la implementación del enfoque anterior:
Ejemplo 1: Con números enteros.
// Java program to replace null values // of a map with a default value import java.util.*; import java.util.stream.*; class GFG { // Function to replace the null values public static <T, K> Map<K, T> replaceNullValues(Map<K, T> map, T defaultValue) { // Replace the null value map = map.entrySet() .stream() .map(entry -> { if (entry.getValue() == null) entry.setValue(defaultValue); return entry; }) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); return map; } public static void main(String[] args) { // Get the map Map<Integer, Integer> map = new HashMap<>(); map.put(1, 1); map.put(2, 2); map.put(3, null); map.put(4, 4); map.put(5, null); map.put(6, null); // Get the default value int defaultValue = 0; // Print the original map System.out.println("Map with null values: " + map); // Replace the null values with the defaultValue map = replaceNullValues(map, defaultValue); // Print the modified map System.out.println("Map with null value replaced: " + map); } }
Producción:
Map with null values: {1=1, 2=2, 3=null, 4=4, 5=null, 6=null} Map with null value replaced: {1=1, 2=2, 3=0, 4=4, 5=0, 6=0}
Ejemplo 2: Con personajes.
// Java program to replace null values // of a map with a default value import java.util.*; import java.util.stream.*; class GFG { // Function to replace the null values public static <T, K> Map<K, T> replaceNullValues(Map<K, T> map, T defaultValue) { // Replace the null value map = map.entrySet() .stream() .map(entry -> { if (entry.getValue() == null) entry.setValue(defaultValue); return entry; }) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); return map; } public static void main(String[] args) { // Get the map Map<Integer, Character> map = new HashMap<>(); map.put(1, 'A'); map.put(2, 'B'); map.put(3, null); map.put(4, 'D'); map.put(5, null); map.put(6, null); // Get the default value char defaultValue = 'Z'; // Print the original map System.out.println("Map with null values: " + map); // Replace the null values with the defaultValue map = replaceNullValues(map, defaultValue); // Print the modified map System.out.println("Map with null value replaced: " + map); } }
Producción:
Map with null values: {1=A, 2=B, 3=null, 4=D, 5=null, 6=null} Map with null value replaced: {1=A, 2=B, 3=Z, 4=D, 5=Z, 6=Z}
Publicación traducida automáticamente
Artículo escrito por RishabhPrabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA