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

Java-Grundlagen-Tutorial

Java Flow Control

Java Array

Java objektorientiert (I)

Java objektorientiert (II)

Java objektorientiert (III)

Java-Exception-Verarbeitung

Java Liste (Liste)

Java Queue (Warteschlange)

Java Map-Kollektion

Java Set-Kollektion

Java Ein- und Ausgabe (I/O)

Java Reader/Writer

Andere Themen von Java

Verwendung und Beispiel der Methode computeIfPresent() von Java HashMap

Java HashMap Methoden

Wenn der Hash-Schlüssel bereits diesen Schlüssel enthält, berechnet die Methode computeIfPresent() von Java HashMap einen neuen Wert und verknüpft ihn mit dem angegebenen Schlüssel.

Syntax der computeIfPresent() Methode:

hashmap.computeIfPresent(K key, BiFunction remappingFunction)

computeIfPresent() Parameter

computeIfPresent() Methode hat zwei Parameter:

  • key - mit dem berechneten Wert verknüpfte Schlüssel

  • remappingFunction - fürSchlüsselFunktion zur Berechnung des neuen Wertes

Beachten Sie:remappingFunction kann zwei Parameter akzeptieren.

Rückgabewert von computeIfPresent()

  • Rückgabe des neuen Wertes, der mit dem angegebenen Schlüssel verknüpft ist

  • Wenn es keine mit dem Schlüssel verknüpfte Wert gibt, wird null zurückgegeben

Beachten Sie:Wenn das Ergebnis von remappingFunction null ist, wird der angegebeneSchlüsselzuordnung.

Beispiel1:Java HashMaps computeIfPresent()

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 der Mehrwertsteuer neu berechnet den Wert des Schuhs
    int shoesPrice = prices.computeIfPresent("Shoes", (key, value) -> value + value * 10/100);
    System.out.println("Preis des Schuhs inklusive Mehrwertsteuer: " + shoesPrice);
    // Drucken Sie die aktualisierte HashMap
    System.out.println("Aktualisierte HashMap: " + prices);
  }
}

Ausgaberesultat

HashMap: {Pant=150, Bag=300, Shoes=200}
Preis des Schuhs inklusive Mehrwertsteuer: 220
Aktualisierte HashMap: {Pant=150, Bag=300, Shoes=220}}

In diesem Beispiel haben wir eine namens "prices" HashMap erstellt. Beachten Sie den Ausdruck

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

hier,

  • (key, value) -> value + value*10/100  - ist ein Lambda-Ausdruck. Er berechnet den neuen Wert von Shoes und gibt ihn zurück. Weitere Informationen zu Lambda-Ausdrücken finden Sie unterJava Lambda-Ausdrücke.

  • prices.computeIfPresent()  - Verknüpft den neuen Wert, den die Lambda-Ausdrücke zurückgeben, mit der Zuordnung von Shoes. Dies ist die einzige Möglichkeit, weil Shoes bereits auf den Wert in der Hash-Mapping verweist.

Wenn der Schlüssel nicht im Hash-Table existiert, kann die Methode computeIfPresent() nicht verwendet werden.

Empfohlene Lektüre

Java HashMap Methoden