Erfahren Sie, was HashSet in Java ist und wie Sie damit beginnen können!

Dieser Artikel über HashSet in Java gibt Ihnen einen vollständigen Überblick darüber, was genau HashSet in Java ist und wie es implementiert wird. Es wird auch auf die verschiedenen Methoden und Konstruktoren eingegangen, die von der Java HashSet-Klasse unterstützt werden.

HashSet in Java ist einer der wichtigsten Aspekte von . Es wird normalerweise verwendet, um eindeutige Werte in ungeordneter Weise zu speichern. In diesem Artikel über HashSet in Java werde ich Ihnen einen vollständigen Überblick darüber geben, was genau ein HashSet ist und wie Sie es in Ihrer Anwendung verwenden können.

Nachfolgend sind die in diesem Artikel behandelten Themen aufgeführt:





Beginnen wir damit, zunächst zu verstehen, was HashSet in Java ist.

HashSet in Java



java.util.HashSet Klasse ist ein Mitglied des Java-Sammlungsframeworks, daserbt die AbstractSet-Klasse undimplementiert dieeinstellen Schnittstelle . Es implementiert implizit eine Hashtabelle zum Erstellen und Speichern einer Sammlung eindeutiger Elemente. Hashtable ist nichts anderes als eine Instanz der HashMap-Klasse, die einen Hashing-Mechanismus zum Speichern der Informationen in einem HashSet verwendet.

Unterschied zwischen Methodenüberladung und Überschreiben

Beim Hashing wird der Informationsinhalt in einen eindeutigen Wert umgewandelt, der im Volksmund als Hash-Code bezeichnet wird. Dieser Hashcode wird dann zum Indizieren der dem Schlüssel zugeordneten Daten verwendet. Der gesamte Prozess der Umwandlung des Informationsschlüssels in den Hashcode wird intern durchgeführt.

Lassen Sie mich zum besseren Verständnis von HashSet in Java einige seiner Funktionen auflisten:



  1. Ein HashSet in Java erlaubt keine doppelten Werte.
  2. Es kann Nullwerte enthalten.
  3. HashSet folgt nicht der Einfügereihenfolge zum Speichern der Daten, sondern verwendet den Hashcode zum Indizieren der darin enthaltenen Werte.
  4. Es ist nicht synchronisiert das macht es automatisch thread-unsicher.
  5. Die HashSet-Klasse implementiert auch Cloneable undSerialisierbare Schnittstellen.

Nachdem Sie nun wissen, was genau HashSet in Java ist, fahren wir mit diesem Artikel fort und entmystifizieren die Unterschiede zwischen HashMap und HashSet in Java.

Java HashSet vs HashMap

HashSet HashMap
Gerätejava.util.Schnittstelle einstellenGerätejava.util.Map
Speichert Daten als ObjekteSpeichert Daten in Form eines Schlüssel-Wert-Paares
HashSet benötigt nur einen Parameter für die ObjektinitialisierungFür die Objektinitialisierung sind zwei Parameter (Schlüssel, Wert) erforderlich
Erlaubt keine doppelten ElementeErlaubt keine doppelten Schlüssel, aber Sie können doppelte Werte speichern
Ermöglicht einen einzelnen NullwertErmöglicht einen einzelnen Nullschlüssel und eine beliebige Anzahl von Nullwerten
HashSet benutze add ()Methode zum Hinzufügen oder Speichern von DatenHashMap verwendet die put () -Methode zum Speichern von Daten

Nachdem Sie nun klar zwischen HashMap und HashSet unterschieden haben, konzentrieren wir uns jetzt wieder auf HashSet und vertiefen uns darin. Im nächsten Abschnitt dieses Artikels werde ich Ihnen die vollständige Hierarchie von HashSet in Java vorstellen.

HashSet-Hierarchie in Java

Wie Sie aus dem unten angegebenen Diagramm sehen können,Die HashSet-Klasse implementiert die Set-Schnittstelle. Die Set-Schnittstelle erbt ferner die Collection-Schnittstelle, die schließlich die Iterable-Schnittstelle in einer hierarchischen Reihenfolge erweitert.

Java HashSet Hierarchie - HashSet in Java - Edureka

Lassen Sie uns nun mit diesem HashSet in Java-Artikel fortfahren und die verschiedenen Aspekte untersuchen Konstruktoren von dieser Klasse unterstützt.

Konstruktoren der java.util.HashSet-Klasse

Baumeister Beschreibung
HashSet () Dies ist der Standardkonstruktor der HashSet-Klasse
HashSet (int Kapazität) Dieser Konstruktor wird verwendet, um die Anfangskapazität des Hash-Sets zu initialisieren. Die Kapazität kann durch Hinzufügen neuer Elemente dynamisch wachsen
HashSet (int Kapazität, float loadCapacity) Dieser Konstruktor wird verwendet, um die Anfangskapazität des Hash-Sets zusammen mit der Ladekapazität zu initialisieren
HashSet (Sammlung c) Dieser Konstruktor wird zum Initialisieren verwendetder Hash, der mithilfe der Elemente aus Sammlung c festgelegt wurde

Dies waren die vier Konstruktoren der HashSet-Klasse in . Lassen Sie uns nun herausfinden, was die verschiedenen sind in Java HashSet definiert.

Methoden der java.util.HashSet-Klasse

Methode Beschreibung
boolean add (Objekt obj) Diese Methode hilft beim Hinzufügen eines angegebenen Elements zum HashSet nur, wenn es nicht vorhanden ist
void clear () Diese Methode hilft beim Entfernen aller Elemente aus HashSet
Objektklon () Diese Methode gibt eine flache Kopie der HashSet-Instanz anstelle von Klonen der HashSet-Elemente zurück
Boolescher Wert enthält (Objekt o) Diese Methode gibt true zurück, wenn das übergebene Element im HashSet vorhanden ist
boolean isEmpty () Diese Methode gibt true zurück, falls das HashSet leer ist
Iterator iterator () Diese Methode gibt einen Iterator über die im HashSet vorhandenen Elemente zurück
boolean remove (Objekt o) Diese Methode hilft beim Entfernen des angegebenen Elements aus dem HashSet, falls vorhanden
int size () Diese Methode gibt die Gesamtzahl der im HashSet vorhandenen Elemente zurück

Neben den oben aufgeführten Methoden enthält die HashSet-Klasse in Java auch die aus seinen Oberklassen.

Versuchen wir nun, diese Methoden zu implementieren und unsere Füße mit der Codierung nass zu machen.

Implementierung von HashSet in Java Program

Im folgenden Beispiel werden wir versuchen, eine Reihe von Methoden zu implementieren, die von der HashSet-Klasse bereitgestellt werden.

import java.util.HashSet import java.util. * public class SampleHashSet {public statisch void main (String [] args) {// Erstellen eines HashSet-Sets eduCourses = new HashSet () // Hinzufügen neuer Elemente zum HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Maschinelles Lernen') eduCourses.add ('RPA') // Das Hinzufügen doppelter Elemente wird ignoriert. eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Überprüfen Sie, ob das HashSet ein bestimmtes Element enthält. String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' befindet sich in der Kursliste. ')} else {System.out.println (myCourse +' befindet sich nicht in der Kursliste. ')} // Sortieren von eduCourses mithilfe von List List list = new ArrayList (eduCourses) Collections.sort (list) // Drucken der sortierten Elemente des HashSet System.out.println (' Drucken der Kurse in sortierter Reihenfolge mit List: '+ list) // Entfernen von Elementen aus HashSet mit remove () eduCourses.remove (' Python ') // Iterieren über HashSet-Elemente System.out.println (' Iterieren über Kursliste nach dem Entfernen Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Erstellen eines weiteren Objekts von HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Maschinelles Lernen') // Entfernen aller neuen Elemente aus HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Nach dem Aufrufen von removeAll () Methodenkurse übrig: '+ eduCourses) // Entfernen von Elementen auf der Grundlage der angegebenen Bedingung eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Nach dem Aufrufen der Methode removeIf (): '+ eduCourses) // Entfernen von Elementen aus eduCourses, die in eduNewCourses angegeben sind eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet nach' + 'RetainAll () -Operation: '+ eduNewCourses) // Entfernen aller in der Menge verfügbaren Elemente eduCourses.clear () System.out.println (' Nach dem Aufrufen der Methode clear (): '+ eduCourses)}}

Wenn Sie den obigen Code ausführen, erhalten Sie die unten gezeigte Ausgabe.

Damit kommen wir zum Ende dieses Artikels. Ich hoffe, ich konnte die Konzepte klar und deutlich halten. Sie können mehr darüber erfahren indem wir durch unsere gehen .

Nachdem Sie verstanden haben, was ein HashSet in Java ist, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für grundlegende als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & Spring schulen.

Hast du eine Frage an uns? Bitte erwähnen Sie dies im Kommentarbereich dieses Artikels „HashSet in Java“. Wir werden uns so schnell wie möglich bei Ihnen melden.

So erstellen Sie eine App in Salesforce