Java HashMap replace ()

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 HashMapclase.

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 ().

Articulos interesantes...