Was ist der Unterschied zwischen HashMap und HashSet?

Inhaltsverzeichnis:

Anonim

Die Hauptunterschied zwischen HashMap und HashSet ist, dass die HashMap gehört zur Kartenschnittstellenhierarchie und es besteht keine Verbindung mit der Sammlungsschnittstelle, während HashSet zur Sammlungsschnittstellenhierarchie gehört.

Programmiersprachen wie Java bieten eine Funktion namens "Sammlungen", um Daten dynamisch zu speichern. Mithilfe von Sammlungen ist es möglich, mehrere Objekte als eine Einheit zu speichern. Darüber hinaus ist es auch möglich, Operationen wie Hinzufügen, Löschen, Entfernen, Sortieren und Suchen in einer Sammlung durchzuführen. Die Basisschnittstelle zum Implementieren von Sammlungen in Java heißt Collection. Außerdem ist Set eine Schnittstelle, die die Collection-Schnittstelle erweitert. HashSet fällt unter diese Hierarchie. Auf der anderen Seite ist Map eine separate Schnittstelle und erweitert die Collection-Schnittstelle nicht. HashMap gehört zur Map-Hierarchie.

HashMap, HashSet, Java, Karte

Was ist HashMap?

HashMap ist eine Klasse, die die Map-Schnittstelle mithilfe einer Hash-Tabelle implementiert. Es erweitert die AbstractMap, während AbstractMap die Map-Schnittstelle implementiert. Außerdem enthält es Schlüssel-Wert-Paare, und es kann nur eindeutige Schlüssel geben. Es kann einen NULL-Schlüssel und mehrere NULL-Werte haben. Darüber hinaus wird HashMap nicht synchronisiert und behält keine bestimmte Reihenfolge bei. Ein Beispielprogramm ist wie folgt.

Abbildung 1: Programm mit HashMap

Der ‚Studenten‘ist ein Objekt von HashMap. Es kann mehrere Elemente speichern, die eine Ganzzahl als Schlüssel und eine Zeichenfolge als Wert haben. Die Methode put hilft beim Einfügen neuer Elemente in die HashMap. Die for-Schleife mit dem Map.Entry ermöglicht es, alle Elemente in den Schülern durchzugehen. Die Methode getKey() druckt die Schlüssel, während die Methode getValues() die Werte ausgibt. Darüber hinaus hält HashMap keine bestimmte Reihenfolge ein. Daher werden die Elemente nicht gemäß der eingefügten Reihenfolge gedruckt. Außerdem gibt es zwei Artikel mit dem Schlüssel 2, aber es wird nur ein einzelner Artikel gedruckt. Daher enthält es nur eindeutige Schlüssel.

Was ist HashSet

HashSet ist eine Klasse, die hilft, eine Sammlung zu erstellen, indem eine Hash-Tabelle zum Speichern verwendet wird. HashSet erweitert AbstractSet; AbstractSet implementiert Set und Set erweitert Collection. Es kann Nullwerte enthalten und wird nicht synchronisiert. Darüber hinaus verwaltet HashSet die Einfügereihenfolge nicht und enthält nur eindeutige Elemente. Ein Beispiel ist wie folgt.

Abbildung 2: Programm mit HashSet

Die „Frucht“ ist ein Objekt von HashSet; es kann String speichern. Die Methode add hilft beim Einfügen neuer Elemente in das HashSet. Die Iterator-Methode nimmt die Anzahl der Elemente im HashSet und speichert sie in der Variablen i. Dann durchläuft die while-Schleife jedes Element, um es zu drucken. Zuerst wurde Orange hinzugefügt, aber das erste Element in der Ausgabe ist Apple. Folglich verwaltet HashSet die Insertionsreihenfolge nicht. Darüber hinaus gibt es zwei Artikel wie Apple, aber es druckt nur einen davon. Daher enthält es nur Unikate.

Unterschied zwischen HashMap und HashSet

Definition

HashMap ist eine Klasse, die hilft, eine Sammlung zu erstellen, die die Klasse AbstractMap erbt und die Map-Schnittstelle implementiert. HashSet ist eine Klasse, die hilft, eine Menge von Elementen als eine einzelne Einheit zu erstellen, die die Klasse AbstractSet erbt und die Set-Schnittstelle implementiert. Dies ist also der grundlegende Unterschied zwischen HashMap und HashSet.

Verknüpfung mit Sammlungsschnittstelle

Darüber hinaus befindet sich HashMap in der Kartenhierarchie. Es gehört nicht zur Collection-Schnittstelle. Auf der anderen Seite befindet sich HashSet in der Sammlungshierarchie. Daher ist dies ein Hauptunterschied zwischen HashMap und HashSet.

Schlüssel, Werte

Ein weiterer Unterschied zwischen HashMap und HashSet besteht darin, dass HashMap zwar Schlüssel und Werte enthält, HashSet jedoch Werte.

Funktionalität

Ein weiterer Unterschied zwischen HashMap und HashSet besteht darin, dass die HashMap Werte basierend auf Schlüsseln mithilfe von Hashtable speichert, während die HashSet Elemente mithilfe des Hashing-Mechanismus speichert.

Abschluss

Der Hauptunterschied zwischen HashMap und HashSet besteht darin, dass die HashMap zur Kartenschnittstellenhierarchie gehört und keine Verbindung mit der Sammlungsschnittstelle besteht, während HashSet zur Sammlungsschnittstellenhierarchie gehört.

Referenz:

1. „HashMap in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.2. „HashSet in Java – Javatpoint.“ www.javatpoint.com, hier verfügbar.

Was ist der Unterschied zwischen HashMap und HashSet?