Was ist der Unterschied zwischen Set und Map?

Das Hauptunterschied zwischen Set und Map ist das Set ist ein Untertyp der Erfassungsschnittstelle, während Map kein Untertyp der Erfassungsschnittstelle ist.

Ein Array speichert die Daten desselben Typs. Nachdem Sie ein Array erstellt haben, können Sie es jedoch nicht ändern. Programmiersprachen wie Java bieten Sammlungen zum dynamischen Speichern von Daten. Es ermöglicht das Speichern mehrerer Objekte als eine Gruppe. Darüber hinaus können Sie Vorgänge wie Sortieren, Suchen, Einfügen und Löschen in einer Sammlung durchführen. Die Basisschnittstelle zum Implementieren von Sammlungen in Java wird als Sammlung bezeichnet. Es gibt verschiedene Schnittstellen, die die Collection-Schnittstelle erweitern. Eine davon ist Set-Schnittstelle. Andererseits erweitert Map die Collection-Schnittstelle nicht, da es sich um eine separate Schnittstelle handelt.

Wichtige Bereiche

1. Was ist Set?
     - Definition, Funktionalität
2. Was ist Map?
     - Definition, Funktionalität
3. Was ist der Unterschied zwischen Set und Map?
     - Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Java, Karte, Set

Was ist Set?

Set ist eine Schnittstelle, die die Collection-Schnittstelle erweitert. Es darf keine doppelten Werte enthalten. HashSet und TreeSet implementieren das Set. Die Set-Schnittstelle bietet Methoden wie Hinzufügen, Größe usw., um Vorgänge für die Sammlung auszuführen. Ein Beispiel ist wie folgt.

Abbildung 1: Programm mit HashSet

Das HashSet ist ein Objekt vom Typ Set. Es kann Strings speichern. Die add-Methode wird verwendet, um Elemente in HashSet einzufügen. Obwohl es zwei Zeichenfolgen als "Apfel" gibt, gibt es nur einen Apfel in der Ausgabe. Daher werden die Elemente, die bereits im Set vorhanden sind, nicht angezeigt. Außerdem wird das Set als ungeordnete Liste gedruckt. Die Größenmethode gibt die Anzahl der Elemente im Set an.

Verweisen Sie ein anderes Beispiel wie folgt.

Abbildung 2: Programm mit TreeSet

Die Baumgruppe ist ein Objekt vom Typ Set, in dem Strings gespeichert werden können. Die add-Methode wird verwendet, um Elemente in die Baumgruppe einzufügen. Obwohl es zwei Zeichenfolgen als "Apfel" gibt, gibt es nur einen Apfel in der Ausgabe. Daher werden nur die eindeutigen Elemente angezeigt. Außerdem wird das Set als geordnete Liste gedruckt. Die Größenmethode gibt die Anzahl der Elemente im Set an.

Was ist Map?

Map ist eine Schnittstelle, die eine Zuordnung zwischen einem Schlüssel und einem Wert darstellt. Die Collection-Schnittstelle wird nicht erweitert. Daher unterscheidet sich das Verhalten von Map von den üblichen Collection-Typen. Eine Map darf keine doppelten Schlüssel enthalten, und jeder Schlüssel kann maximal einem Wert zugeordnet werden. HashMap implementiert die Map-Schnittstelle, während SortedMap die Map-Schnittstelle erweitert und TreeMap die SortedMap-Schnittstelle.

Abbildung 3: Programm mit HashMap

Die studentList ist ein Objekt vom Typ Map. Es kann Strings speichern. Die put-Methode wird verwendet, um Elemente in studentList einzufügen. Es gibt zwei Datensätze für „Peter“, aber es wird nur ein Datensatz angezeigt. HashMap behält die eingefügte Reihenfolge nicht bei. Es werden nur die eindeutigen Werte gedruckt.

Abbildung 4: Programmieren mit TreeMap

Buchstaben ist ein Objekt vom Typ Map. Es kann Strings speichern. Die Put-Methode wird verwendet, um Elemente in Buchstaben einzufügen. Es gibt zwei Datensätze für “B”, aber es wird nur ein Datensatz angezeigt. TreeMap behält die eingefügte Reihenfolge nicht bei. Es werden nur die eindeutigen Werte gedruckt.

Unterschied zwischen Satz und Karte

Definition

Ein Set ist eine Schnittstelle in der Collection-Hierarchie, die keine doppelten Elemente enthalten kann, während eine Map eine Schnittstelle ist, die eindeutige Schlüssel zu Werten bildet. Dies ist der Hauptunterschied zwischen Set und Map.

Verbindung mit der Erfassungsschnittstelle

Set ist eine Schnittstelle, die die Collection-Schnittstelle erweitert, während Map eine separate Schnittstelle ist.

Funktionalität

Funktionalität ist auch ein wesentlicher Unterschied zwischen Set und Map. Set hilft beim Speichern eindeutiger Werte, während die Map-Schnittstelle eine Zuordnung zwischen einem Schlüssel und einem Wert darstellt.

Fazit

Der Hauptunterschied zwischen Set und Map besteht darin, dass Set ein Subtyp der Collection-Schnittstelle ist, während Map keine Subtype der Collection-Schnittstelle ist.

Referenz:

1. „In Java einstellen“. GeeksforGeeks, 26. November 2018, hier erhältlich.
2. „Map Interface in Java“. GeeksforGeeks, 26. November 2018, hier verfügbar.