Javascript-Hashset
__del__ |
__delete__ |
__main__ Python module |
array Python module |
Arrays |
ast Python module |
code Python module |
collections Python module |
COM PHP module |
dis Python module |
DOM PHP module |
Ev PHP module |
exp |
Hash PHP module |
iat |
imp Python module |
io Python module |
JavaScript |
join |
math Python module |
numbers Python module |
os Python module |
pty Python module |
Python functions |
random Python module |
Rar PHP module |
re Python module |
StackOverflow |
string Python module |
struct Python module |
time Python module |
types Python module |
UI PHP module
Michael Zippo
04.11.2021
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!