Calcolo Java HashMap ()

Il metodo compute () di Java HashMap calcola un nuovo valore e lo associa alla chiave specificata nella hashmap.

La sintassi del compute()metodo è:

 hashmap.compute(K key, BiFunction remappingFunction)

In questo caso, hashmap è un oggetto della HashMapclasse.

parametri compute ()

Il compute()metodo richiede 2 parametri:

  • chiave - chiave a cui associare il valore calcolato
  • remappingFunction - funzione che calcola il nuovo valore per la chiave specificata

Nota : la funzione remapping può richiedere due argomenti. Quindi, considerato come BiFunction.

compute () Valore restituito

  • restituisce il nuovo valore associato alla chiave
  • restituisce nullse nessun valore è associato alla chiave

Nota : se si ottiene remappingFunction null, la mappatura per la chiave specificata viene rimossa.

Esempio: HashMap compute () per inserire un nuovo valore

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap prices = new HashMap(); // insert entries to the HashMap prices.put("Shoes", 200); prices.put("Bag", 300); prices.put("Pant", 150); System.out.println("HashMap: " + prices); // recompute the value of Shoes with 10% discount int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100); System.out.println("Discounted Price of Shoes: " + newPrice); // print updated HashMap System.out.println("Updated HashMap: " + prices); ) )

Produzione

 HashMap: (Pantaloni = 150, Borsa = 300, Scarpe = 200) Prezzo scontato delle scarpe: 180 HashMap aggiornata: (Pantaloni = 150, Borsa = 300, Scarpe = 180

Nell'esempio sopra, abbiamo creato una hashmap denominata prezzi. Notare l'espressione,

 prices.compute("Shoes", (key, value) -> value - value * 10/100)

Qui,

  • (chiave, valore) -> valore - valore * 10/100 - È un'espressione lambda. Riduce del 10% il vecchio valore delle scarpe e lo restituisce. Per ulteriori informazioni sull'espressione lambda, visita Java Lambda Expressions.
  • prices.compute () : associa il nuovo valore restituito dall'espressione lambda alla mappatura per Shoes.

Abbiamo usato l'espressione lambda come funzione di rimappatura che raccoglie due parametri.

Nota : secondo la documentazione ufficiale di Java, il metodo HashMap merge () è più semplice del compute()metodo.

Lettura consigliata

  • HashMap computeIfAbsent () - calcola il valore se la chiave specificata non è mappata su alcun valore
  • HashMap computeIfPresent () - calcola il valore se la chiave specificata è già mappata a un valore

Articoli interessanti...