Javascript-Hashset

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

In Java gibt es eine Reihe von Datentypen, die zum Speichern von Werten verwendet werden. Jeder Datentyp speichert Werte auf unterschiedliche Weise und bietet eine Reihe von Methoden, mit denen die gespeicherten Werte manipuliert werden können. Zahlen können beispielsweise mit mathematischen Funktionen in Java manipuliert werden.

HashSet ist ein Datentyp in Java, der verwendet wird, um eine mathematische Menge zu erstellen. HashSet ist Teil des Java Collections-Frameworks und ermöglicht das Speichern von Daten mit dem Datentyp Hash-Tabelle.

In diesem Tutorial werden die Grundlagen der Java-HashSet-Klasse und ihre Verwendung erläutert. Wir werden auch die wichtigsten Methoden von HashSet zum Abrufen und Bearbeiten der in einem Set gespeicherten Daten durchgehen.

Java-Sets und HashSet

Sets sind Java-Sammlungen, die keine doppelte Elemente. Während eine Liste denselben Wert mehrmals enthalten kann, können Sets einen bestimmten Wert nur einmal enthalten.

Sets k√∂nnen in einer Vielzahl von Situationen nutzlich sein. Wenn Sie beispielsweise ein Programm fur ein lokales Café erstellen, das die Telefonnummern seiner Treuekunden speichert, m√∂chten Sie, dass dieselbe Telefonnummer nur einmal in der Liste angezeigt wird.

In Java, der Set-Typ ist eine Schnittstelle, und um ihn zu verwenden, mussen wir eine der mit dem Datentyp verknupften Klassen verwenden. Die HashSet-Klasse implementiert den Set-Datentyp und wird verwendet, um ein Set zu erstellen, das die Hash-Tabellen-Datenstruktur verwendet.

Bevor wir mit HashSets arbeiten können, mussen wir das HashSet-Paket in unsere . importieren Code. Hier ist der Code, den wir verwenden können, um HashSet in unseren Code zu importieren:

import java.util.HashSet;

Jetzt haben wir HashSet importiert , können wir mit dem Datentyp arbeiten.

Java HashSet erstellen

Hier ist die Syntax, die Sie verwenden können, um ein Java HashSet zu erstellen:

HashSet variable_name = new HashSet<>(capacity, loadFactor);

Die Hauptkomponenten eines HashSets sind wie folgt:

  • HashSet teilt unserem Programm mit, dass wir ein HashSet deklarieren m√∂chten.
  • DataType ist der Datentyp, der von den im Hash-Set gespeicherten Werten gehalten wird.
  • variable_name ist der Name unseres Hash-Sets.
  • new HashSet<> initialisiert ein HashSet und weist es < . zu code>variable_name.
  • capacity gibt an, wie viele Werte das Hash-Set speichern kann. Standardm√§√üig ist dies auf 8 gesetzt. (optional)
  • loadFactor gibt an, dass, wenn ein Hash-Set mit einer bestimmten Menge gefullt ist, die Elemente innerhalb der Tabelle in eine neue verschoben werden Tabelle doppelt so gro√ü wie die ursprungliche Tabelle. Standardm√§√üig ist dies auf 0,75 (oder 75 % Kapazit√§t) eingestellt. (optional)

Angenommen, wir möchten ein HashSet erstellen, das die Liste der an unserem Obststand verkauften Fruchte speichert. Dazu können wir den folgenden Code verwenden:

In unserem Code haben wir ein HashSet namens fruits erstellt, das String-Werte speichert. Jetzt haben wir ein HashSet bereit, mit dem wir mit den HashSet-Methoden arbeiten können.

Element hinzufugen

Die Methode add() fugt einem HashSet in Java ein bestimmtes Element hinzu. Angenommen, wir möchten die Werte Pear, Grapefruit und Mango in unsere Obstliste. Wir könnten dies mit diesem Code tun:

Wenn wir unseren Code ausfuhren, wird die folgende Antwort zuruckgegeben:

["Birne‚", "Gra Pefruit", "Mango‚"]

Lassen Sie uns unseren Code aufschlusseln. Zuerst importieren wir die HashSet-Klasse aus java.util, dann initialisieren wir eine Klasse namens AddFruits, die den Code fur unser Programm speichert. In der nächsten Zeile deklarieren wir ein HashSet namens fruits, das Stringwerte speichert.

Dann verwenden wir die Methode add(), um unserem Frucht Hash-Set: Birne, Grapefruit und Mango. Schließlich drucken wir den Inhalt des Hash-Sets fruits in der Konsole aus.

Entfernen eines Elements

Die Methode remove() kann verwendet, um einen Artikel aus einem HashSet zu entfernen.

Angenommen, unser Obststand hat beschlossen, den Verkauf von Mangos aufgrund mangelnder Nachfrage einzustellen. Daher möchten wir den Eintrag Mango aus dem zuvor erstellten HashSet entfernen. Wir könnten dies mit diesem Code tun:

Unser Code gibt Folgendes zuruck:

["Birne‚", "Grapefruit‚"]

Unser Code hat Mango aus unserem ursprunglichen HashSet entfernt und gibt das uberarbeitete HashSet mit den beiden verbleibenden Werten zuruck.

Zus√§tzlich wird die Methode removeAll() verwendet, um alle Elemente aus einer Menge entfernen. Wenn wir uns also entschieden haben, bei Null anzufangen und eine neue Obstliste zu erstellen, k√∂nnen wir mit removeAll() alle Gegenst√§nde in unserem Set l√∂schen. Hier ist der Code, mit dem wir alle Elemente aus unserem "Frucht‚" HashSet:

Unser Code gibt einen leeren Hash-Satz zuruck: [].

Zugriffselemente

Im Gegensatz zu Java-Arrays werden Sets nicht indiziert. Wenn wir also auf die Werte in unserem Set zugreifen m√∂chten, mussen wir die Methode iterator() verwenden und jeden Wert durchlaufen. iterator() ist Teil des "java.util.Iterator‚" Daher mussen wir das Iterator-Paket importieren, bevor wir die iterator()-Methode verwenden k√∂nnen.

Hier ein Programm, mit dem wir jede Frucht in unserem fruits-Array von fruher durchlaufen und an die Konsole ausgeben können:

Unser Code gibt zuruck:
< /p>

Birne

Grapefruit

Mango

In unserem Code importieren wir zuerst die HashSet- und Iterator-Bibliotheken aus java.util und deklarieren dann eine Klasse namens RetrieveFruits in dem sich der Code fur unser Programm befindet. Als nächstes initialisieren wir ein HashSet namens fruits und weisen ihm drei Werte zu: Pear, Grapefruit und Mango.

In der nächsten Zeile initialisieren wir einen Iterator, der es ermöglicht uns, jedes Element in unserem HashSet zu durchlaufen. Dann erstellen wir eine while-Schleife, die jedes Element im Hashset fruits durchläuft und an die Konsole ausgibt.

Set Operations

Die Die HashSet-Klasse ist ein Set und kann daher auf die verschiedenen Set-Operationen zugreifen, die vom Set-Datentyp angeboten werden. Es gibt vier Hauptmengenoperationen, die mit der HashSet-Klasse verwendet werden können: Vereinigung, Schnittmenge, Teilmenge und Differenz. Lassen Sie uns durchgehen, wie jede dieser Methoden einzeln funktioniert.

HashSet Union

Die Methode addAll() kann verwendet werden, um eine Vereinigung zwischen zwei Sets durchzufuhren. Mit anderen Worten, mit addAll() können Sie den Inhalt zweier Sets zusammenfuhren.

Angenommen, wir haben unsere Fruchte in zwei Hash-Sets gespeichert. Das erste Hash-Set, Fruchte, enthält eine Liste mit allgemeinen Fruchten, die wir an unserem Stand verkaufen. Das zweite Hash-Set, berries, speichert die Beeren, die wir verkaufen. Wir haben uns entschieden, diese beiden Sets zusammenzufuhren.

Wir können unsere beiden Sets mit dem folgenden Code zusammenfuhren:

Die Methode addAll() gibt Folgendes zuruck:

[Birne, Grapefruit, Mango, Erdbeere, Himbeere, Blaubeere]

Wie Sie sehen können, hat unser Code unsere Hash-Sets fruits und berries in den Hash fruits zusammengefuhrt einstellen. Dann gibt unser Code das uberarbeitete Hash-Set an die Konsole aus.

HashSet-Schnittpunkt

Der Schnittpunkt wird verwendet, um gemeinsame Werte in zwei Datensätzen zu finden. Wir können keepAll() verwenden, um einen Schnittpunkt auf zwei Datensätzen durchzufuhren.

Angenommen, wir haben unsere Listen mit Beeren und Fruchten und möchten sicherstellen, dass es keine gemeinsamen Werte gibt. Wir könnten den Code verwenden aus unserem Union-Beispiel mit einer Änderung, um diese Aufgabe zu erfullen:

Unser Code gibt zuruck: [].

Anstatt addAll() zu verwenden, verwenden wir keepAll(), um eine Schnittmenge durchzufuhren, da es keine gemeinsamen Werte zwischen unseren fruits und berries-Listen wird ein leeres Hash-Set zuruckgegeben Es gibt keine doppelten Werte in unseren Listen, was genau das ist, was wir wollten.

HashSet Subset

Die Methode containsAll() wird verwendet, um zu uberprufen, ob ein Set a . ist Teilmenge einer anderen Menge. Mit anderen Worten, enthält alle(), ob ein Set nur Werte aus einem anderen Set enthält.

Angenommen, wir wollten uberprufen, ob unsere Beeren-Liste eine Teilmenge unserer Fruchte Liste. Wir könnten dies mit diesem Code tun:

Unser Code gibt zuruck: false. Die Werte in Beeren, die wir in unserem Union-Beispiel definiert haben, sind nicht dieselben wie in fruits. Unser Code gibt also false zuruck.

HashSet Difference

Die Methode removeAll() wird verwendet, um die Differenz zwischen zwei Sets zu berechnen. Angenommen, wir haben eine Liste von Fruchten und eine Liste von Sommerfruchten und Winterbeeren, und wir möchten den Unterschied zwischen den beiden kennen. Wir könnten diesen Code verwenden, um die Differenz zu berechnen:

Unser Code gibt Folgendes zuruck:

[Pear]

Wir haben a Differenzsuche in der Liste summer_fruits und uberpruft, welche Werte nur in der Liste summer_fruits vorhanden sind. In diesem Fall ist Birne die einzige Frucht, die nur in der Liste summer_fruits existiert, und daher hat unsere Liste einen Wert zuruckgegeben: Birne.

Schlussfolgerung

Die HashSet-Klasse implementiert die Set-Schnittstelle mit Hash-Tabellen in Java. HashSet wird häufig verwendet, wenn Sie zufällig auf Elemente zugreifen oder eine Liste von Elementen speichern möchten, die keine doppelten Werte enthalten durfen.

In diesem Tutorial wurden die Grundlagen von Java HashSets behandelt und anhand von Beispielen untersucht, wie um ein Java HashSet zu deklarieren und zu manipulieren. Jetzt sind Sie bereit, die Java HashSet-Klasse wie ein Profi zu verwenden!