computeIfPresent()-Methode
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
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。
Andere Erweiterungen
Java HashMap