English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

教程基础Java

Controllo dei flussi di Java

Array di Java

Java orientato agli oggetti (I)

Java orientato agli oggetti (II)

Java orientato agli oggetti (III)

Gestione delle eccezioni Java

Lista (List) di Java

Queue (coda) di Java

Map di Java

Set di Java

Input/Output (I/O) di Java

Reader/Writer di Java

Altri argomenti di Java

Uso e esempio del metodo compute() di HashMap in Java

Metodi HashMap Java

Il metodo compute() di HashMap in Java calcola un nuovo valore e lo associa al chiave specificata nella mappatura di hash.

L'indicazione sintattica del metodo compute() è:

hashmap.compute(K key, BiFunction remappingFunction)}

Parametri di compute()

Il metodo compute() di hashmap ha due parametri:

  • key - Chiave associata al valore calcolato

  • remappingFunction - Per la chiave specificataChiaveFunzione di calcolo del nuovo valore

Attenzione:remappingFunction può accettare due parametri.

Valore restituito da compute()

  • Restituisce il nuovo valore associato alla chiave

  • Se non esiste un valore associato alla chiave, viene restituito null

Attenzione:Se il risultato di remappingFunction è null, viene eliminata la chiave specificataChiavedi mappatura.

Esempio: Inserimento di nuovo valore con HashMap compute()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //Crea una HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    //Inserisci una voce nella HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: " + prices);
    //Ricalcola il prezzo delle scarpe con uno sconto del 10%
    int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
    System.out.println("Prezzo di sconto delle scarpe: " + newPrice);
    //Stampa la HashMap aggiornata
    System.out.println("HashMap aggiornata: " + prices);
  

Risultato di output

HashMap: {Pant=150, Bag=300, Shoes=200}
Prezzo di sconto delle scarpe: 180
HashMap aggiornata: {Pant=150, Bag=300, Shoes=180}

Nell'esempio sopra, abbiamo creato una mappa hash chiamata prices. Nota l'espressione

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

Ecco,}}

  • (key, value) -> value - value * 10/100 -  Questa è un'espressione lambda. Riduce il prezzo originale del paio di scarpe del 10% e lo restituisce. Per ulteriori informazioni sulle espressioni lambda, visitareEspressioni Lambda Java.

  • prices.compute() - Associate il nuovo valore restituito dall'espressione lambda al mappamento di Shoes

AttenzioneSecondo la documentazione ufficiale di Java:HashMap merge()Il metodo è più semplice rispetto al metodo compute()

Raccomandazione per la lettura

Metodi HashMap Java