Wie erstellen wir in Java 9 eine unveränderliche Karte?
Eine nicht veränderbare Karte ist eine Karte, deren Schlüssel und Werte nicht hinzugefügt , gelöscht oder aktualisiert werden können, nachdem eine nicht veränderbare Karteninstanz erstellt wurde. Die statischen Factory-Methoden in Map: Map.of() und Map.ofEntries() bieten eine praktische Möglichkeit, nicht veränderbare Karten in Java 9> zu erstellen.
Verwenden Sie Map.of() und The Map Die von der Methode Map.ofEntries() erstellte Instanz weist die folgenden Eigenschaften auf. p>
- Die von einer Factory-Methode zurückgegebene Karte ist normalerweise unveränderlich. Das bedeutet, dass Schlüssel und Werte nicht hinzugefügt , gelöscht oder aktualisiert werden können. Der Aufruf einer beliebigen Mutatormethode auf der Karte führt zu einer UnsupportedOperationException.
- Wenn eine Karte Schlüssel/Werte enthält, die selbst veränderlich> sind, kann dies dazu führen, dass sich die Karte inkonsistenty verhält oder dass sich ihr Inhalt scheinbar ändert.
- Unveränderliche Karten erlauben keine Null--Schlüssel und Werte . Wenn Sie versuchen, mit einem Nullschlüssel oder -wert zu erstellen, wird eine NullPointerException ausgelöst.
- Doppelte Schlüssel oder Werte werden zum Zeitpunkt der Erstellung selbst abgelehnt. Die Übergabe doppelter Schlüssel an eine statische Factory-Methode führt zu einer IllegalArgumentException.
- Immutable map ist serialisierbar > wenn alle Schlüssel und Werte serialisierbar sind.
- Die Iterationsreihenfolge der Karte ist nicht festgelegt und kann sich ändern.
Syntax H2><strong>Map.of(k1, v1, k2, v2)
Map.ofEntries(entry(k1, v1), entry(k2, v2),...)</strong>
Nach dem Login kopierenMap.of() Beispiel
import java.util.Map;
public class UnmodifiableMapTest {
public static void main(String[] args) {
Map<String, String> empMap = <strong>Map.of</strong>("101", "Raja", "102", "Adithya", "103", "Jai", "104", "Chaitanya");
System.out.println("empMap - " + empMap);
empMap.put("105", "Vamsi"); <strong>// throws UnsupportedOperationException</strong>
}
}
Nach dem Login kopierenAusgabe
<strong>empMap - {104=Chaitanya, 103=Jai, 102=Adithya, 101=Raja}
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.ImmutableCollections.uoe(Unknown Source)
at java.base/java.util.ImmutableCollections$AbstractImmutableMap.put(Unknown Source)
at UnmodifiableMapTest.main(UnmodifiableMapTest.java:7)</strong>
Nach dem Login kopieren
<strong>Map.of(k1, v1, k2, v2) Map.ofEntries(entry(k1, v1), entry(k2, v2),...)</strong>
import java.util.Map; public class UnmodifiableMapTest { public static void main(String[] args) { Map<String, String> empMap = <strong>Map.of</strong>("101", "Raja", "102", "Adithya", "103", "Jai", "104", "Chaitanya"); System.out.println("empMap - " + empMap); empMap.put("105", "Vamsi"); <strong>// throws UnsupportedOperationException</strong> } }
<strong>empMap - {104=Chaitanya, 103=Jai, 102=Adithya, 101=Raja} Exception in thread "main" java.lang.UnsupportedOperationException at java.base/java.util.ImmutableCollections.uoe(Unknown Source) at java.base/java.util.ImmutableCollections$AbstractImmutableMap.put(Unknown Source) at UnmodifiableMapTest.main(UnmodifiableMapTest.java:7)</strong>
Map.ofEntries() Beispiel
import java.util.Map; import static java.util.Map.entry; public class UnmodifidMapTest { public static void main(String[] args) { Map<String, String> empMap = <strong>Map.ofEntries</strong>(entry("101", "Raja"), entry("102", "Adithya"), entry("103", "Jai"), entry("104", "Chaitanya")); System.out.println("empMap - " + empMap); } }
Ausgabe
<strong>empMap - {102=Adithya, 101=Raja, 104=Chaitanya, 103=Jai}</strong>
Das obige ist der detaillierte Inhalt vonWie erstellen wir in Java 9 eine unveränderliche Karte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.
