computeIfPresent()-Methode

Java HashMap Java HashMap

Die Methode computeIfPresent() berechnet den Wert des angegebenen Schlüssels in der hashMap neu, sofern der Schlüssel in der hashMap vorhanden ist.

Die Syntax der computeIfPresent()-Methode ist:

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

Hinweis:hashmap ist ein Objekt der Klasse HashMap.

Parameter description:

  • key - der Schlüssel
  • remappingFunction - die Remapping-Funktion, die verwendet wird, um den Wert neu zu berechnen

Rückgabewert

Wenn der zum Schlüssel gehörende Wert nicht vorhanden ist, gibt die Methode null zurück; wenn er vorhanden ist, gibt sie den von der remappingFunction neu berechneten Wert zurück.

Beispiel

Das folgende Beispiel demonstriert die Verwendung der Methode computeIfPresent():

Beispiel

import java.util.HashMap;

class Main {
    public static void main(String[] args) {
        // Eine HashMap erstellen
        HashMap<String, Integer> prices = new HashMap<>();

        // Mappings zur HashMap hinzufügen
        prices.put("Shoes", 200);
        prices.put("Bag", 300);
        prices.put("Pant", 150);
        System.out.println("HashMap: " + prices);

        // Den Wert der Schuhe nach Hinzufügen von 10% MwSt. neu berechnen
        int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
        System.out.println("Preis der Schuhe nach MwSt.: " + shoesPrice);

        // Aktualisierte HashMap ausgeben
        System.out.println("Aktualisierte HashMap: " + prices);
    }
}

Die Ausführung des obigen Programms gibt aus:

HashMap: {Pant=150, Bag=300, Shoes=200}
Price of Shoes after VAT: 220
Updated HashMap: {Pant=150, Bag=300, Shoes=220}}

Im obigen Beispiel haben wir eine HashMap namens prices erstellt.

Beachten Sie den Ausdruck:

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

Im Code haben wir einen anonymen Lambda-Ausdruck(key, value) -> value + value * 10/100als Remapping-Funktion verwendet.

Um mehr über Lambda-Ausdrücke zu erfahren, besuchen Sie bitteJava-Lambda-Ausdrücke。

Java HashMap Java HashMap

Andere Erweiterungen