Heim > Java > javaLernprogramm > Wie erstellen wir in Java 9 eine unveränderliche Karte?

Wie erstellen wir in Java 9 eine unveränderliche Karte?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-09-06 20:53:02
nach vorne
850 Leute haben es durchsucht

在Java 9中,我们如何创建一个不可修改的Map?

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 kopieren

Map.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 kopieren

Ausgabe

<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

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);
   }
}
Nach dem Login kopieren

Ausgabe

<strong>empMap - {102=Adithya, 101=Raja, 104=Chaitanya, 103=Jai}</strong>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage