MAP hat zwei neue Methoden hinzugefügt, die in Java 8 ersetzt werden können
1. Ersetzen (k, v)
Der angegebene Schlüssel wird nur dann auf den angegebenen Wert (neuer Wert) abgebildet, wenn der angegebene Schlüssel bereits vorhanden ist und es einen Zuordnungswert in Bezug auf ihn gibt.
Wenn der angegebene Schlüssel nicht vorhanden ist, gibt die Methode ein Null zurück
Der Javadoc -Kommentar erläutert den äquivalenten Java -Code für die Implementierung dieser Standardwertmethode:
if (map.containsKey (Schlüssel)) {return map.put (Schlüssel, Wert);} else {return null;}Das Folgende ist ein Vergleich der neuen Methode und der vorherigen Methode vor JDK8:
/ * * Demonstrieren Sie die Methode map.replace (k, v) und vergleichen Sie sie mit der Implementierungsmethode vor JDK8. Die neu hinzugefügte MAP.Replace (K, v) -Methode in JDK8 * verwendet weniger Codezeilen als herkömmliche Implementierungsmethoden * und ermöglicht eine endgültige Variable, den Rückgabewert zu empfangen. */// Implementierungsmethode vor der JDK8 -String ersetzte CapitalCity; if (StatesandCapitals.ContainsKey ("Alaska")) {ersatzcapitalCity = StatesandCapitals.put ("Alaska", "Juneau");} // Implementierungsmethode von jdk8 endgültiger String ersetzte JDK8City = Statesandcapitals.replace ("Alaska", "Juneau");2. Ersetzen Sie (k, v, v)
Die zweite neu hinzugefügte Karte Ersatzmethode hat einen engeren Interpretationsbereich beim Ersetzen vorhandener Werte. Wenn diese Methode (die vorherige Ersatzmethode) nur den Ersatzprozess des angegebenen Schlüssels mit einem gültigen Wert in der Karte abdeckt, akzeptiert diese "Ersetzen" -Methode einen zusätzlichen (dritten) Parameter, der nur dann ersetzt wird, wenn sowohl die angegebene Taste als auch der Wert übereinstimmen.
Der Javadoc -Kommentar zeigt die Implementierung dieser Standardwertmethode:
if (map.containsKey (key) && object.equals (map.get (Schlüssel), Wert)) {map.put (Schlüssel, NewValue); return true;} else {return false;}Die folgende Codeliste zeigt einen spezifischen Vergleich zwischen der neuen Implementierungsmethode und der Implementierungsmethode vor JDK8.
/ * * Demonstrieren Sie die Methode map.replace (k, v, v) und vergleichen Sie sie mit der Implementierungsmethode vor JDK8. Die neu hinzugefügte MAP.Replace (K, v, v) -Methode in JDK8 * verwendet weniger Codezeilen als herkömmliche Implementierungsmethoden * und ermöglicht eine endgültige Variable, den Rückgabewert zu empfangen. */// Implementierungsmethode vor jdk8 boolean ersetzt = false; if (StatesandCapitals.containsKey ("Nevada") && Objects.equals (StatesandCapitals.get ("Nevada"), "Las Vegas") {StatesandCapitals.put ("Nevada", "Carson City"); ersetzt = wahr; } // Implementierungsmethode von JDK8 Final Boolean ersetztjdk8 = StatesAndCapitals.replace ("Nevada", "Las Vegas", "Carson City");Das obige ist die kurze Diskussion der neuen Karte der Karte in Java 8 - Ersetzen - alle Inhalte des Ersatzes. Ich hoffe, jeder unterstützt Wulin.com ~