English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java HashMap compute() Methode berechnet einen neuen Wert und verknüpft ihn mit dem angegebenen Schlüssel im Hash-Mapping.
Syntax der compute() Methode:
hashmap.compute(K key, BiFunction remappingFunction)
compute() Methode hat zwei Parameter:
key - mit dem berechneten Wert verknüpfte Schlüssel
remappingFunction - für die angegebeneSchlüsselFunktion zur Berechnung eines neuen Wertes
Hinweis:remappingFunction kann zwei Parameter akzeptieren.
wird das neue Wert mit dem Schlüssel verknüpft zurückgegeben
wird null zurückgegeben, wenn kein Wert mit dem Schlüssel verknüpft ist
Hinweis:Wenn das Ergebnis von remappingFunction null ist, wird der angegebeneSchlüsselKarte.
import java.util.HashMap; class Main { public static void main(String[] args) { //HashMap erstellen HashMap<String, Integer> prices = new HashMap<>(); //Eintrag in die HashMap einfügen prices.put("Shoes", 200); prices.put("Bag", 300); prices.put("Pant", 150); System.out.println("HashMap: ") + prices); //mit10Prozent des Rabatts neu berechnen Sie den Preis des Schuhs int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100); System.out.println("Schuhrabatt: ") + newPrice); //Drucken Sie die aktualisierte HashMap aus System.out.println("aktualisierte HashMap: ") + prices); } }
Ausgaberesultat
HashMap: {Pant=150, Bag=300, Shoes=200} Schuhrabatt: 180 aktualisierte HashMap: {Pant=150, Bag=300, Shoes=180
Im obigen Beispiel haben wir eine benannte Hash-Mapping namens prices erstellt. Beachten Sie den Ausdruck
prices.compute("Shoes", (key, value) -> value - value * 10/100)
Hier,
(key, value) -> value - value * 10/100 - Dies ist ein Lambda-Ausdruck. Er reduziert den ursprünglichen Preis des Schuhs10. Mehr Informationen über Lambda-Ausdrücke finden Sie unter.Java Lambda-Ausdrücke
prices.compute() - Verknüpfe den neuen Wert, den die Lambda-Ausdrücke zurückgeben, mit der Zuordnung von Shoes
HinweisLaut der offiziellen Dokumentation von JavaJava HashMap merge()Die Methode ist einfacher als die Methode compute()
Empfohlene Lektüre
HashMap computeIfAbsent() - Berechne den Wert, wenn der angegebene Schlüssel keinen Wert zugeordnet hat
HashMap computeIfPresent() - Berechne den Wert, wenn der angegebene Schlüssel bereits einen Wert zugeordnet hat