HashMap und HashSet sind zwei verschiedene Funktionen in Hashtable. Die Hash-Tabelle ist nichts anderes als eine Datenstruktur, in der Sie die Schlüsselwerte abbilden können.
Die Hash-Funktion ist das Wichtigste in Hashtable. Der Hauptvorteil der Hash-Tabelle ist die Geschwindigkeit im Vergleich zu anderen Datenstrukturen.
Key Take Away
- HashMap ist eine Datenstruktur, die Schlüssel-Wert-Paare speichert, während HashSet eindeutige Elemente ohne zugehörige Werte speichert.
- HashMap implementiert die Map-Schnittstelle und HashSet implementiert die Set-Schnittstelle in Java.
- HashSet wird von einer HashMap unterstützt, die Dummy-Werte für die Schlüssel verwendet, um eine Sammlung eindeutiger Elemente zu verwalten.
HashMap vs. HashSet
HashMap ist eine auf Schlüsselwerten basierende Datenstruktur, die es uns ermöglicht, Objekte mithilfe von a zu speichern und abzurufen einzigartiger Schlüssel. HashSet ist eine satzbasierte Datenstruktur, die verwendet wird, um eine Sammlung eindeutiger Objekte zu speichern, und verwendet Hashing zum Speichern der Objekte und bietet eine konstante Leistung.
HashMap ist assoziativ zum Array-Datentyp. Es ist ein Teil der Java-Sammlung. Diese Klasse ist in Java bis zum Paket zu finden.
Dies kann in der Map-Schnittstelle von Java implementiert werden, wo es Daten in (KEY, VALUE) speichert, die verwendet werden, um den Wert zu speichern und per Schlüssel darauf zuzugreifen.
Wenn wir ein Objekt übergeben, kann mit einem Schlüsselwert, der ein Index ist, darauf zugegriffen werden. Wir können diesen doppelten Schlüssel sicherstellen, was jedoch impliziert, dass das vorherige Element dem Schlüssel entspricht.
Die Nullschlüssel werden ebenfalls gespeichert HashMap. Die HashMap erlaubt nur einen Nullschlüssel.
Ein HashSet enthält eine einzigartige Sammlung. Diese Klasse ist in Java bis zum Paket zu finden.
Es verwendet seinen Mechanismus namens Hashing, um seine Informationen in einer Hash-Tabelle zu speichern. Auf das Element in der Tabelle wird über einen eindeutigen Wert namens Hash-Code zugegriffen, bei dem es sich um eine Klasse handelt, die mithilfe einer festgelegten Schnittstelle implementiert wurde, die der Datenstruktur der Hash-Tabelle zugrunde liegt.
Es erlaubt keine doppelten Werte, aber wir können Dummy-Werte haben. Der Hauptvorteil besteht darin, dass es sich um eine serialisierbare und klonbare Schnittstelle handeln kann.
Vergleichstabelle
Vergleichsparameter | HashMap | HashSet |
---|---|---|
Dummy-Werte | HashMap hat keine Dummy-Werte | HashSet hat Dummy-Werte |
Mechanismus hinzufügen | HashMap verwendet Hashing-Technik | HashSet verwendet ein Hash-Objekt |
Schnelligkeit | HashMap ist schneller | HashSet ist langsamer |
Einfügemethode | Die Einfügemethode in HashMap ist Put() | Die Einfügemethode in HashSet ist Add() |
Beispiel | (a-10, b-20, c-70) | (10,20,70) |
Was ist HashMap?
Hashmap kann mithilfe der Methode (Hash Map hm = neue HashMap ();). Beispielsweise kann in HashMap eine bestimmte Anfangskapazität und ein Lastfaktor erstellt werden.
HashMap kann Werte auf unterschiedliche Weise verarbeiten. Es speichert die Zeichenfolge als Schlüssel. In HashMap werden die Schlüsselwerte als Objekte betrachtet. Die Hauptaufgabe besteht darin, die Tabelle mit den Kay-Werten oder Objekten zu organisieren. Die zum Organisieren benötigte Zeit ist O(1) Zeit.
Denn flexible Keys gelten als Stärke der Hash-Map. Diese ähneln einem Array, aber sie haben „Indizes“, die für den Zugriff auf die Daten verwendet werden, aber in der Hash-Map verwenden wir Schlüssel für den Zugriff auf die Werte.
Es gibt einige grundlegende Operationen von HashMap, wie das Hinzufügen eines Elements, der Zugriff auf ein Element, das Ändern eines Elements und das Entfernen eines Elements.
Um ein Element hinzuzufügen, verwenden wir die put()-Methode, um auf ein Element zuzugreifen, verwenden wir die get()-Methode, um ein Element zu ändern, verwenden wir die replace()-Methode, um ein Element zu entfernen, verwenden wir die remove()-Methode.
Ebenso gibt es viele Befehle und Methoden wie Löschen, Berechnen, Zusammenführen, Klonen, Größe usw., die für den Programmierer nützlich sind, um die HashMap effektiv zu nutzen.
Was ist HashSet?
HashSet kann durch Syntax (Hash Set< E> hs = new Hash Set< E>();) implementiert werden, die die Kapazität des Hash-Sets auch ohne Definition definieren. Der Standardwert beträgt 16 und der Lastfaktor 0.75.
HashSet (Int-Kapazität, Float-Füllverhältnis) wird verwendet, um die Kapazität des Hashsets zu ändern. Wenn die Elemente größer sind, muss es die Kapazität haben, den Wert in der Menge zu speichern, damit die Menge erweitert wird.
Wir haben die gleichen grundlegenden Operationen wie Hinzufügen, Entfernen, Enthält und Größe, aber es hat eine konstante Zeitleistung für diese grundlegenden Operationen.
Wo wir in einer Menge andere verschiedene Operationen wie Vereinigungsmenge, Unterschiede der Menge haben, hat eine Teilmenge den Vorteil für die Hashset-Methode.
Bei der Vereinigung der Menge können wir die Vereinigungsoperation zwischen zwei Mengen ausführen, indem wir die Methode add-all() verwenden. In der Differenz von Mengen können wir die Differenz zwischen zwei Mengen berechnen, indem wir die Methode remove-all() verwenden.
In Subset können wir eine weitere Teilmenge einer anderen Menge hinzufügen, indem wir die Methode contains-all() verwenden. Wenn wir Werte hinzufügen oder den Wert in das HashSet einfügen, kann es nicht sein, dass es auf der Grundlage von Code eingefügt wird.
Die Iteration zu Elementen wird in keiner bestimmten Reihenfolge zurückgegeben. Wir können auch den Index verwenden, in dem die mit dem Schlüssel verbundenen Daten gespeichert sind.
Meistens können wir Hashsets verwenden, um auf ein zufälliges Element aus ihrem Set zuzugreifen. Weil der Zugriff über einen Hash-Code erfolgt, der eindeutig ist, sodass wir das Element leicht identifizieren können.
Da es nicht unsynchronisiert ist, kann auf mehrere Bedrohungen gleichzeitig zugegriffen und diese geändert werden. Dies wird durch die Synchronisierung eines Objekts in der Menge erreicht.
Die Werte in einem Asset oder eigentlich einem Objekt können wir als Objekt vom Typ String erstellen und in eine von uns angegebene Klasse einpacken. Wo es Integer als Objekt speichert, um die zeitliche Komplexität zu begrenzen.
Hauptunterschiede zwischen HashMap und HashSet
- Die Objektanforderung während des Hinzufügens in HashMap ist zwei, wohingegen in HashSet die Objektanforderung während des Hinzufügens nur eins ist.
- HashMap hat eine beliebige Anzahl von Nullwerten, aber HashSet hat nur einen einzigen Nullwert.
- Das Schlüssel-Wert-Paar wird in HashMap gespeichert, während Objekte in HashSet gespeichert werden.
- Im Vergleich zu Hashmap wird HashSet für die Eindeutigkeit von Daten verwendet.
- Beispiel für HashMap ist {a->4, b->9, c->5}, und ein Beispiel für HashSet ist {6, 43, 2, 90, 4}.
- https://dl.acm.org/doi/abs/10.1145/2884781.2884869?casa_token=1z9VmoTZC90AAAAA:8-pUqjpp5C0S4rIzg2sMUI4FeuvVH5QIN99WkbSrP1HSwCa13CtZa7lXBKMzm864NI__H8iKBcjMZck
- https://ieeexplore.ieee.org/abstract/document/5370764/
Letzte Aktualisierung: 13. Juli 2023
Sandeep Bhandari hat einen Bachelor of Engineering in Computers von der Thapar University (2006). Er verfügt über 20 Jahre Erfahrung im Technologiebereich. Er interessiert sich sehr für verschiedene technische Bereiche, darunter Datenbanksysteme, Computernetzwerke und Programmierung. Sie können mehr über ihn auf seinem lesen Bio-Seite.