Java HashMap replaceAll ()

Il metodo Java HashMap replaceAll () sostituisce tutte le mappature della hashmap con il risultato della funzione specificata.

La sintassi del replaceAll()metodo è:

 hashmap.replaceAll(Bifunction function)

In questo caso, hashmap è un oggetto della HashMapclasse.

parametri replaceAll ()

Il replaceAll()metodo accetta un singolo parametro.

  • funzione - operazioni da applicare a ciascuna voce della hashmap

replaceAll () Valore restituito

Il replaceAll()metodo non restituisce alcun valore. Piuttosto, sostituisce tutti i valori della hashmap con nuovi valori dalla funzione.

Esempio 1: modificare tutti i valori in maiuscolo

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to the HashMap languages.put(1, "java"); languages.put(2, "javascript"); languages.put(3, "python"); System.out.println("HashMap: " + languages); // Change all value to uppercase languages.replaceAll((key, value) -> value.toUpperCase()); System.out.println("Updated HashMap: " + languages); ) )

Produzione

 HashMap: (1 = java, 2 = javascript, 3 = python) HashMap aggiornato: (1 = JAVA, 2 = JAVASCRIPT, 3 = PYTHON)

Nell'esempio precedente, abbiamo creato una hashmap denominata languages. Notare la linea,

 languages.replaceAll((key, value) -> value.toUpperCase());

Qui,

  • (key, value) -> value.toUpperCase()è un'espressione lambda. Converte tutti i valori della hashmap in maiuscolo e lo restituisce. Per saperne di più, visita Java Lambda Expression.
  • replaceAll() sostituisce tutti i valori della hashmap con i valori restituiti dall'espressione lambda.

Esempio 2: sostituire tutti i valori con il quadrato delle chiavi

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap numbers = new HashMap(); // insert entries to the HashMap numbers.put(5, 0); numbers.put(8, 1); numbers.put(9, 2); System.out.println("HashMap: " + numbers); // replace all value with the square of key numbers.replaceAll((key, value) -> key * key);; System.out.println("Updated HashMap: " + numbers); ) )

Produzione

 HashMap: (5 = 0, 8 = 1, 9 = 2) HashMap aggiornata: (5 = 25, 8 = 64, 9 = 81)

Nell'esempio sopra, abbiamo creato una hashmap denominata numeri. Notare la linea,

 numbers.replaceAll((key, value) -> key * key);

Qui,

  • (key, value) -> key * key- calcola il quadrato della chiave e lo restituisce
  • replaceAll() - sostituisce tutti i valori della hashmap con i valori restituiti da (key, value) -> key * key

Articoli interessanti...