El método replace () de Java HashMap reemplaza la asignación de la clave especificada con el nuevo valor especificado en un mapa hash.
La sintaxis del replace()
método es:
hashmap.replace(K key, V oldValue, V newValue)
Aquí, hashmap es un objeto de la HashMap
clase.
reemplazar () Parámetros
El replace()
método puede tomar 3 parámetros.
- clave - clave cuya asignación se va a reemplazar
- oldValue (opcional): valor que se reemplazará en el mapeo
- newValue - oldValue se reemplaza con este valor
reemplazar () Valores devueltos
El replace()
método HashMap reemplaza la asignación y devuelve:
- el valor anterior asociado con la clave especificada, si el parámetro opcional oldValue no está presente
true
, si el parámetro opcional oldValue está presente
Nota : El método regresa null
, si la clave especificada está asignada a un valor nulo o la clave no está presente en el mapa hash.
Ejemplo 1: reemplazar una entrada en HashMap
import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // replace mapping for key 2 String value = languages.replace(2, "Java"); System.out.println("Replaced Value: " + value); System.out.println("Updated HashMap: " + languages); ) )
Salida
HashMap: (1 = Python, 2 = Inglés, 3 = JavaScript) Valor reemplazado: Inglés HashMap actualizado: (1 = Python, 2 = Java, 3 = JavaScript)
En el ejemplo anterior, hemos creado un mapa de hash llamado languages. Aquí, hemos utilizado el método replace () para reemplazar la entrada de la clave 1 (1 = inglés) con el valor especificado Java.
Aquí, el replace()
método no tiene el parámetro opcional oldValue. Por lo tanto, devuelve el valor anterior (inglés).
Ejemplo 2: HashMap replace () con Old Value
import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap countries = new HashMap(); // insert items to the HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:" + countries); // replace mapping (Washington = America) countries.replace("Washington", "America", "USA"); // return true countries.replace("Canberra", "New Zealand", "Victoria"); // return false System.out.println("Countries after replace():" + countries); ) )
Salida
Países: (Canberra = Australia, Ottawa = Canadá, Washington = América) Países después de reemplazar (): (Canberra = Australia, Ottawa = Canadá, Washington = EE. UU.)
En el ejemplo anterior, hemos creado un mapa de hash llamado países. Note la línea,
countries.replace("Washington", "America", "USA");
Aquí, el método replace () incluye el parámetro opcional oldValue (America). Por lo tanto, el mapeo donde los mapas clave de Washington para valorar a América se reemplazan con el nuevo valor de EE.UU.
Sin embargo, observe la línea,
countries.replace ("Canberra", "Nueva Zelanda", "Victoria");
Aquí, en el mapa de hash, la clave que Canberra no asigna para valorar Nueva Zelanda. Por lo tanto, el método replace () no reemplaza ningún valor.
Nota : Podemos usar el método clear () de Java HashMap para eliminar todas las asignaciones del mapa de hash.
HashMap put () vs. reemplazar()
La sintaxis del método put()
y replace()
es bastante similar en HashMap
.
// syntax of put() hashmap.put(key, value) // syntax of replace() hashmap.replace(key, value)
Y, cuando el hashmap contiene la asignación para la clave especificada , ambos métodos reemplazan el valor asociado con la clave especificada.
Sin embargo, si el mapa hash no contiene ningún mapeo para la clave especificada , entonces
- el
put()
método inserta la nueva asignación para la clave y el valor especificados - el
replace()
método regresanull
Ejemplo 3: HashMap put () Vs. reemplazar()
import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages1 = new HashMap(); // insert entries to HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // create another HashMap similar to languages1 HashMap languages2 = new HashMap(); // puts all entries from languages1 to languages2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // use of put() languages2.put(3, "Java"); System.out.println("HashMap after put():" + languages2); // use of replace() languages1.replace(3, "Java"); System.out.println("HashMap after replace():" + languages1); ) )
Salida
HashMap: (1 = Python, 2 = JavaScript) HashMap después de put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap después de replace (): (1 = Python, 2 = JavaScript)
En el ejemplo anterior, hemos creado dos hashmaps llamados languages1 e languages2. Hemos utilizado el método HashMap putAll () para que ambos hashmaps tengan las mismas asignaciones.
Aquí, el mapeo para la clave 3 no está presente en el mapa hash. Por lo tanto,
- el
put()
método agrega la nueva asignación (3 = Java) aHashMap
- el
replace()
método no realiza ninguna operación
Para obtener más información sobre cómo agregar entradas, visite Java HashMap put ().