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

Tutorial di Base Java

Controllo dei flussi di lavoro di Java

Array di Java

Orientamento ad oggetti (I) di Java

Orientamento ad oggetti (II) di Java

Orientamento ad oggetti (III) di Java

Gestione delle Eccezioni Java

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 computeIfPresent() di Java HashMap

Metodi Java HashMap

Se la chiave dell'hashtag esiste già, il metodo computeIfPresent() di Java HashMap calcolerà un nuovo valore e lo associerà alla chiave specificata.

La sintassi del metodo computeIfPresent() è:

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

parametro computeIfPresent()

computeIfPresent() ha due parametri:

  • key - Chiave associata al valore calcolato

  • remappingFunction - Per ilChiaveFunzione di calcolo del nuovo valore

Attenzione: remappingFunction può accettare due parametri.

Valore restituito da computeIfPresent()

  • Restituisce il nuovo valore associato alla chiave specificata

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

Attenzione: Se il risultato di remappingFunction è null, viene eliminato il valore associato alla chiave specificataChiavemappatura.

Esempio 1: computeIfPresent() di Java HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Crea una HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    // Inserisci elementi nella HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("HashMap: " + prices);
    // Riconta il valore delle scarpe con l'IVA del 10%
    int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
    System.out.println("Prezzo del paio di scarpe con l'IVA aggiunta: " + shoesPrice);
    // Stampa la HashMap aggiornata
    System.out.println("HashMap aggiornata: " + prices);
  }
}

Risultato dell'output

HashMap: {Pant=150, Bag=300, Shoes=200}
Prezzo del paio di scarpe con l'IVA aggiunta: 220
HashMap aggiornata: {Pant=150, Bag=300, Shoes=220}

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

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

qui,

  • (key, value) -> value + value*10/100  - È un'espressione lambda. Calcola il nuovo valore di Shoes e lo restituisce. Per ulteriori informazioni sulle espressioni lambda, visitaEspressioni lambda Java.

  • prices.computeIfPresent()  - Associazione del nuovo valore restituito dall'espressione lambda con la mappatura di Shoes. È l'unica possibilità, perché Shoes è già mappato al valore nella mappatura hash.

Impossibile utilizzare il metodo computeIfPresent() se la chiave non esiste nell'hashtable.

Leggi di più raccomandati

Metodi Java HashMap