Java Hashset

Java Hashset

In Java ist ein Hashset ein Satz. Während ein Satz eine Reihe von Ganzzahlen oder von Schwimmern oder von Strings usw. wäre., Das Hashset wäre eine Reihe von Paaren. In Java ist ein Paar ein Karteneingang, der unabhängig von der Zielkarte-ähnliche Datenstruktur erstellt werden kann. Ein Karteneintritt oder ein Paar ist Code mit einem Schlüssel und seinem entsprechenden Wert. Der Schlüssel wird tatsächlich in einen Array -Index für den Wert gehasht.

Das Folgende sind ein Beispieldaten von Schlüssel-/Wertpaaren, bei denen ein Schlüssel ein Fruchtname ist und der entsprechende Wert die äußere Farbe der Früchte ist:

Passionsfrucht => lila
Wassermelone => grün
Pfirsich => Dunkelgelb
Papaya => Orange
Mango => Gelb

Dieser Artikel bietet Grundkenntnisse über Java Hashset, beginnend mit der Erstellung eines Paares (Karteneintrag).

Erstellen eines Karteneingangs

Eine Syntax zum Erstellen eines Karteneingangs (Paar) lautet:

public SimpleEnry (K Key, V -Wert)

Dies ist von der AbstractMap.SimpleEnry -Klasse, des Pakets, Java.Util.*, das muss importiert werden. K ist die Art von Schlüssel, die in diesem Fall eine Zeichenfolge ist. V ist die Art von Wert, die in diesem Fall immer noch eine Zeichenfolge ist.

Das folgende Codesegment erstellt fünf Paare:

AbstractMap.SimpleEnry pair1 = new AbstractMap.SimpleEnry("Passionsfrucht", "lila");
AbstractMap.SimpleEnry pair2 = new AbstractMap.SimpleEnry("Wassermelone", "grün");
AbstractMap.SimpleEnry pair3 = new AbstractMap.SimpleEnry("Pfirsich", "Dunkelgelb");
AbstractMap.SimpleEnry pair4 = new AbstractMap.SimpleEnry("Papaya", "Orange");
AbstractMap.SimpleEnry Paar5 = neue AbstractMap.SimpleEnry("Mango", "Gelb");

Diese fünf Paare können fünf Elemente eines Hashset bilden.

Erstellung eines Hashset

Es gibt vier überlastete Konstruktoren für das Hashset, aber in diesem Artikel werden nur zwei veranschaulicht.

öffentliches Hashset ()

Dies schafft einen leeren Hashset. Ein leeres Hashset für die oben genannten Paare kann wie folgt erstellt werden:

Hashset> HS = New Hashset> ();
öffentliches Hashset (Sammlung C)

Dies erfordert ein weiteres Hashset als Argument, um ein neues Hashset zu erstellen. Eine Beispiel -Code -Anweisung eines von einem anderen Hashset erstellten Hashset ist:

Hashset> hsb = neuer Hashset> (HS);

Wo HS ein bereits erstellter Hashset ist.

Die Hashset -Klasse befindet sich auch in der Java.Util.* Paket, das importiert werden sollte.

Methoden des Hashsets

In diesem Abschnitt werden häufig verwendete Methoden der Hashset -Klasse erklärt.

öffentlicher Boolescher Add (e e)

Dies fügt dem Hashset ein neues Paar (Element) hinzu. Es gibt True zurück, wenn dieser Satz das angegebene Element noch nicht enthält. ansonsten falsch. Das folgende Codesegment fügt den oben genannten fünf Elementen (Paaren) zum Hashset HS hinzu:

Hashset> HS = New Hashset> ();
HS.add (pair1); HS.add (pair2); HS.add (pair3); HS.add (pair4); HS.add (pair5);

öffentliche int size ()

Dies gibt die Anzahl der Paare (Elemente) im Satz zurück. Beispiel:

int sz = hs.Größe();
System.aus.println (SZ);

Für diesen Code würde der Rückgabewert 5 sein.

öffentlicher Iterator Iterator ()

Ein Iterator ist ein Objekt, mit dem Sie auf alle Elemente eines Satzes (oder eine Liste) zugreifen können. Die folgende Erklärung gibt einen Iterator aus dem oben genannten Hashset zurück:

Iterator> iter = hs.Iterator ();

Der Iterator hat die Methode,

E NEXT ()

Diese Methode des Iterators gibt das nächste Element zurück, das von der ersten, im Satz (oder in der Liste) beginnt, ab. Die zurückgegebenen Elemente sind nicht unbedingt in der Reihenfolge, in der sie hinzugefügt wurden. Um das nächste Element des oben genannten Hashset zurückzugeben, kann die folgende Anweisung verwendet werden:

AbstractMap.SimpleEnry pair = iter.nächste();

Links vom Zuordnungsbetreiber befindet sich ein Programmierer, der für ein Paar (MAP-EINGRY), PAIL, vorangegangen ist, der die Art von Paar vorangegangen ist. Rechts ist der oben erhaltene Iterator, gefolgt von der Methode als nächstes (). Nach der Rückgabe des Paares können die Methoden der Liste verwendet werden, um das Paar zu verarbeiten.

Die Klasse AbstractMap.SimpleEnry hat für das Paar die Methode toString (). Diese Methode gibt sowohl den Schlüssel als auch den Wert in String -Formular zurück. Das folgende Codesegment druckt alle Schlüssel-/Wertpaare des obigen Hashset mit dem Iterator aus:

für (int i = 0; iAbstractMap.SimpleEnry pair = iter.nächste();
System.aus.println (Paar.tostring ());

Die Ausgabe ist:

Papaya = Orange
Pfirsich = Dunkelgelb
Mango = Gelb
Wassermelone = grün
Passionsfrucht = lila

Die Methode trennt den Schlüssel vom Wert mit = =.

öffentlich boolean entfernen (Objekt O)

Dadurch wird ein Element (Paar) entfernt, das der Programmierer bereits kennt, im Hashset vorhanden sein. Es kehrt wahr, wenn eine Änderung stattgefunden hat; und sonst falsch. Sowohl die Iteration als auch die Hashset -Klassen haben diese Methode (etwas anders). Das folgende Codesegment greift auf alle Elemente im Hashset zu und beseitigt "Watermelon = Green".

für (int i = 0; iAbstractMap.SimpleEnry pair = iter.nächste();
String str = Paar.toString ();
if (str.gleich ("Wassermelone = grün"))
Iter.entfernen();

System.aus.println (hs.Größe());

Die Ausgabe ist 4. Die Methode von REME () des Iterators und nicht die des Hashset wurde verwendet. Das Paar (Element), auf das der Iterator zeigte, wurde entfernt.

öffentliche void clear ()

Dies entfernt alle Elemente aus dem Hashset. Das folgende Codesegment zeigt dies:

HS.klar();
System.aus.println (hs.Größe());

Die Ausgabe ist 0.

öffentlich boolean isempty ()

Gibt true zurück, wenn das Hashset kein Element enthält, und sonst falsch falsch. Der folgende Code zeigt dies für einen nicht leeren Satz:

boolean BL = hs.ist leer();
System.aus.println (bl);

Die Ausgabe ist falsch.

Boolesche enthält (Objekt O)

Dies gibt true zurück, wenn das Hashset das angegebene Element (Paar) enthält; und sonst falsch. Das folgende Codesegment zeigt dies für ein Hashset, das bereits Elemente enthält:

AbstractMap.SimpleEnry pacec = new AbstractMap.SimpleEnry("Pfirsich", "Dunkelgelb");
boolean BL = hs.enthält (pacec);
System.aus.println (bl);

Für das obige Hashset ist die Ausgabe wahr.

Abschluss

Das Hashset in Java ist ein Satz. Es unterscheidet sich jedoch von einem normalen Satz, da seine Elemente voraussichtlich Paare sind. Ein Paar ist ein Elementcode, der einen Schlüssel und seinen entsprechenden Wert hat. Der Schlüssel wird zu einem Array -Index für den Wert gehasht. Die folgende Anweisung würde ein leeres Hashset erzeugen:

Hashset> HS = New Hashset> ();

HS ist der Name des Hashsets.

In Java ist ein Paar ein Karteneintritt. Die folgende Anweisung würde eine Karteneingabe erstellen:

AbstractMap.SimpleEnry pair1 = new AbstractMap.SimpleEnry("Passionsfrucht", "lila");

Die Art von Schlüssel hier ist eine Zeichenfolge, und die Wertstyp hier ist auch eine Zeichenfolge.

Die Java Hashset -Klasse hat einige nützliche Methoden, die oben erklärt wurden.