Die Set-Schnittstelle wird von der HashSet-Klasse implementiert, die über eine Hash-Tabelle als Backup verfügt und eine Instanz von HashMap ist. Dennoch garantiert diese Klasse nicht die zeitliche Reihenfolge der Elemente. Ein Nullelement ist in dieser HashSet-Klasse zulässig und bietet Zeitleistung für Vorgänge wie Entfernen, Hinzufügen usw. Unter der Annahme, dass Elemente durch die Hash-Funktion auf die Buckets verteilt werden.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax
1 | public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable
|
Nach dem Login kopieren
Konstruktoren in Java HashSet
Die Java HashSet-Klasse besteht aus mehreren Konstruktoren. Sie sind:
-
HashSet(): Mit diesem Konstruktor HashSet() kann ein Standard-HashSet erstellt werden.
-
HashSet(int Capacity): Die Kapazität des Hashsets kann mit diesem Konstruktor HashSet(int Capacity) auf die Kapazität der angegebenen Ganzzahl initialisiert werden. Wenn wir dem Hashset weitere Elemente hinzufügen, wächst die Kapazität des Hashsets automatisch.
-
HashSet(int Capacity, Float LoadFactor): Die Kapazität des Hashsets kann mit diesem Konstruktor HashSet( auf die Kapazität der angegebenen Ganzzahl und auf den als Parameter im Konstruktor angegebenen Lastfaktorwert initialisiert werden. int Kapazität, Float LoadFactor).
-
HashSet(Collection c): Die Elemente der Sammlung c werden mit diesem Konstruktor HashSet(Collection c)
auf das Hashset initialisiert
Methoden zur Implementierung von Java HashSet
Die Java HashSet-Klasse besteht aus mehreren Methoden. Sie sind:
-
add(E e): Mit dieser Methode Add(E e) wird ein bestimmtes Element zur Menge hinzugefügt, wenn dieses bestimmte Element nicht in der Menge vorhanden ist.
-
clear(): Alle Elemente aus der Menge werden mit dieser Methode Clear() entfernt.
-
clone(): Mit dieser Methode Clone() wird eine flache Kopie der Instanz des Hashsets zurückgegeben. Die Elemente selbst können kein Klonen durchführen.
-
contains(Object o): Wenn ein angegebenes Element in der Menge vorhanden ist, gibt diese Methode Contains(object o) true zurück.
-
isEmpty(): Wenn keine Elemente in der Menge vorhanden sind, gibt diese Methode isEmpty() true zurück.
-
iterator(): Der Iterator über die eingestellten Elemente wird mit dieser Methode Iterator() zurückgegeben.
-
remove(Object o): Wenn ein angegebenes Element in der Menge vorhanden ist, entfernt diese Methode Remove(object o) dieses angegebene Element.
-
size(): Die Anzahl der Elemente in der Menge wird mit dieser Methode Size() zurückgegeben.
-
spliterator(): Eine späte Bindung und ein schneller Spliterator über die Elemente ist der Satz, der mit dieser Methode Spliterator() erstellt wird.
Beispiele zur Implementierung von HashSet in Java
Unten finden Sie ein Beispiel für die Implementierung von HashSet in Java:
Beispiel #1
Erstellen Sie ein Hashset und fügen Sie dem erstellten neuen Set neue Elemente hinzu.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.util.HashSet;
import java.util.Set;
public class Example {
public static void main(String[] args) {
Set<String> months = new HashSet<>();
months.add( "January" );
months.add( "Febraury" );
months.add( "March" );
months.add( "April" );
months.add( "May" );
months.add( "June" );
months.add( "July" );
months.add( "August" );
months.add( "September" );
months.add( "October" );
months.add( "November" );
months.add( "December" );
System.out.println(months);
}
}
|
Nach dem Login kopieren
Ausgabe:
![HashSet in Java](https://img.php.cn/upload/article/000/000/000/172500604744417.png)
Beispiel #2
Eine Sammlung und Demonstration der Verwendung des Hashset(collection c)-Konstruktors.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Example {
public static void main(String[] args)
{
List<Integer> Divby4 = new ArrayList<>();
Divby4.add(4);
Divby4.add(8);
Divby4.add(12);
Divby4.add(16);
Divby4.add(20);
List<Integer> Divby2 = new ArrayList<>();
Divby2.add(2);
Divby2.add(4);
Divby2.add(6);
Divby2.add(8);
Divby2.add(10);
Set<Integer> Divby4Or2 = new HashSet<>(Divby4);
Divby4Or2.addAll(Divby2);
System.out.println(Divby4Or2);
}
}
|
Nach dem Login kopieren
Ausgabe:
![HashSet in Java](https://img.php.cn/upload/article/000/000/000/172500604845542.png)
Beispiel #3
Java-Programm zur Demonstration von Vorgängen am Hashset, z. B. Überprüfen, ob das Hashset leer ist, Überprüfen der Anzahl der Elemente im Hashset und Überprüfen, ob ein Element im Hashset vorhanden ist.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.HashSet;
import java.util.Set;
public class Example {
public static void main(String[] args)
{
Set<String> rivers = new HashSet<>();
System.out.println( "Are there no elements in rivers set? : " + rivers.isEmpty());
rivers.add( "Kaveri" );
rivers.add( "Ganga" );
rivers.add( "Yamuna" );
rivers.add( "Godavari" );
System.out.println( "The count of rivers in the hashset are " + rivers.size());
String Name = "Ganga" ;
if (rivers.contains(Name)) {
System.out.println(Name + " is present in the rivers hashset." );
} else {
System.out.println(Name + " is not present in the rivers hashset." );
}
}
}
|
Nach dem Login kopieren
Ausgabe:
![HashSet in Java](https://img.php.cn/upload/article/000/000/000/172500605053958.png)
Beispiel #4
Java-Programm zum Entfernen eines Elements aus einem Hashset, zum Entfernen aller Elemente, die zu einer anderen Sammlung gehören, zum Entfernen derjenigen Elemente, die eine bestimmte Bedingung erfüllen, aus dem Hashset und zum Entfernen aller Elemente aus dem Hashset.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class Example {
public static void main(String[] args)
{
Set<Integer> num = new HashSet<>();
num.add(2);
num.add(3);
num.add(4);
num.add(5);
num.add(6);
num.add(7);
num.add(8);
num.add(9);
num.add(10);
System.out.println( "Numbers added to the hashset are : " + num);
boolean Remove = num.remove(5);
System.out.println( "After remove the number 5 from the hashset, the remaining elemnts are => " + num);
List<Integer> Squares = new ArrayList<>();
Squares.add(4);
Squares.add(9);
num.removeAll(Squares);
System.out.println( "After removing all the elements that belong to a different collection => " + num);
num.removeIf(num1 -> num1 % 2 == 0);
System.out.println( "After removing all the elements matching a certain condition is removed from the hashset => " + num);
num.clear();
System.out.println( "After clearing the hashset => " + num);
}
}
|
Nach dem Login kopieren
Ausgabe:
![HashSet in Java](https://img.php.cn/upload/article/000/000/000/172500605115934.png)
Fazit
In diesem Tutorial verstehen wir das Konzept von Hashset wie die Definition von Hashset, die Syntax zum Erstellen eines Hashsets, Konstruktoren in Hashsets, Methoden in Hashsets und Programmierbeispiele für die Erstellung von Hashsets und das Hinzufügen von Elementen zu einem neu erstellten Hashset, Entfernen der Elemente aus einem vorhandenen Hashset, Suchen nach einem Element im Hashset.
Das obige ist der detaillierte Inhalt vonHashSet in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!