El mapa ha agregado dos nuevos métodos para reemplazar en Java 8
1. Reemplazar (K, V)
La clave especificada se asignará al valor especificado (nuevo valor) solo cuando la clave especificada ya existe y hay un valor de mapeo relacionado con él.
Cuando la clave especificada no existe, el método devuelve un nulo
El comentario de Javadoc explica el código Java equivalente para la implementación de este método de valor predeterminado:
if (map.containskey (key)) {return map.put (clave, valor);} else {return null;}La siguiente es una comparación del nuevo método y el método anterior antes de JDK8:
/ * * Demuestre el método MAP.Replace (K, V) y compárelo con el método de implementación antes de JDK8. El método MAP.Replace (K, V) recientemente agregado en JDK8 * utiliza menos líneas de código que los métodos de implementación tradicionales * y permite que una variable final reciba el valor de retorno. */// Método de implementación antes de la cadena JDK8 reemplazado CapitalCity; if (StatesAndCapitals.ContainsKey ("Alaska")) {reemplazado CapitalCity = StatesAndCapitals.put ("Alaska", "Juneau");} // Método de implementación de la cadena final JDK8 reemplazada JDK8City = StatesAndCapitals.replace ("Alaska", "Juneau");2. Reemplazar (K, V, V)
El segundo método de reemplazo de mapa recién agregado tiene un rango de interpretación más estrecho para reemplazar los valores existentes. Cuando ese método (el método de reemplazo anterior) solo cubre el proceso de reemplazo de la clave especificada con cualquier valor válido en el mapa, este método "reemplazar" acepta un parámetro adicional (tercero), que solo se reemplazará si tanto la clave especificada como el valor coinciden.
El comentario de Javadoc ilustra la implementación de este método de valor predeterminado:
if (map.containskey (key) && objects.equals (map.get (key), valor)) {map.put (key, newValue); return true;} else {return false;}La siguiente lista de códigos muestra una comparación específica entre el nuevo método de implementación y el método de implementación antes de JDK8.
/ * * Demuestre el método MAP.Replace (K, V, V) y compare con el método de implementación antes de JDK8. El método recientemente agregado map.replace (k, v, v) en jdk8 * utiliza menos líneas de código que los métodos de implementación tradicionales * y permite que una variable final reciba el valor de retorno. */// Método de implementación antes de reemplazar JDK8 boolean = false; if (StatesAndCapitals.ContainsKey ("Nevada") && Objects.Equals (StessAndCapitals.get ("Nevada"), "Las Vegas")) {StatesandCapitals.put ("Nevada", "Carson City"); reemplazado = verdadero; } // Método de implementación de JDK8 Boolean final reemplazadojdk8 = States yCapitals.Replace ("Nevada", "Las Vegas", "Carson City");Lo anterior es la breve discusión del nuevo método de mapa en Java 8 - Reemplazar - Todos los contenidos de Reemplazo. Espero que todos apoyen a Wulin.com ~