logo

Java-hashset

Java HashSet-klassehiërarchie

De Java HashSet-klasse wordt gebruikt om een ​​verzameling te maken die een hashtabel gebruikt voor opslag. Het erft de AbstractSet-klasse en implementeert de Set-interface.

De belangrijke punten over de Java HashSet-klasse zijn:

  • HashSet slaat de elementen op met behulp van een mechanisme genaamd hashen.
  • HashSet bevat alleen unieke elementen.
  • HashSet staat een nulwaarde toe.
  • HashSet-klasse is niet gesynchroniseerd.
  • HashSet handhaaft de invoegvolgorde niet. Hier worden elementen ingevoegd op basis van hun hashcode.
  • HashSet is de beste aanpak voor zoekbewerkingen.
  • De initiële standaardcapaciteit van HashSet is 16 en de belastingsfactor is 0,75.

Verschil tussen lijst en set

Een lijst kan dubbele elementen bevatten, terwijl Set alleen unieke elementen bevat.

Hiërarchie van de HashSet-klasse

De HashSet-klasse breidt de AbstractSet-klasse uit die de Set-interface implementeert. De Set-interface neemt de Collection- en Iterable-interfaces over in hiërarchische volgorde.


HashSet-klassedeclaratie

Laten we de declaratie voor de klasse java.util.HashSet bekijken.

 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Constructeurs van de Java HashSet-klasse

SN Constructeur Beschrijving
1) HashSet() Het wordt gebruikt om een ​​standaard HashSet te construeren.
2) HashSet(int-capaciteit) Het wordt gebruikt om de capaciteit van de hashset te initialiseren op de gegeven capaciteit van de gehele waarde. De capaciteit groeit automatisch naarmate elementen aan de HashSet worden toegevoegd.
3) HashSet(int capaciteit, float loadFactor) Het wordt gebruikt om de capaciteit van de hashset te initialiseren op de gegeven capaciteit van de gehele waarde en de gespecificeerde belastingsfactor.
4) HashSet(verzameling c) Het wordt gebruikt om de hashset te initialiseren met behulp van de elementen van de verzameling c.

Methoden van de Java HashSet-klasse

Verschillende methoden van de Java HashSet-klasse zijn als volgt:

char naar int java
SN Modificator en type Methode Beschrijving
1) Booleaans toevoegen(E e) Het wordt gebruikt om het opgegeven element aan deze set toe te voegen als het nog niet aanwezig is.
2) leegte duidelijk() Het wordt gebruikt om alle elementen uit de set te verwijderen.
3) voorwerp kloon() Het wordt gebruikt om een ​​oppervlakkige kopie van deze HashSet-instantie terug te geven: de elementen zelf worden niet gekloond.
4) Booleaans bevat(Object o) Het wordt gebruikt om true terug te geven als deze set het opgegeven element bevat.
5) Booleaans is leeg() Het wordt gebruikt om true terug te geven als deze set geen elementen bevat.
6) Iterator iterator() Het wordt gebruikt om een ​​iterator over de elementen in deze set terug te geven.
7) Booleaans verwijder(Object o) Het wordt gebruikt om het opgegeven element uit deze set te verwijderen als het aanwezig is.
8) int maat() Het wordt gebruikt om het aantal elementen in de set te retourneren.
9) Splitser splitter() Het wordt gebruikt om een ​​laatbindende en feilloze spliterator over de elementen in de set te creëren.

Java HashSet-voorbeeld

Laten we een eenvoudig voorbeeld van HashSet bekijken. Let op, de elementen herhalen zich in een ongeordende verzameling.

 import java.util.*; class HashSet1{ public static void main(String args[]){ //Creating HashSet and adding elements HashSet set=new HashSet(); set.add('One'); set.add('Two'); set.add('Three'); set.add('Four'); set.add('Five'); Iterator i=set.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Five One Four Two Three 

Java HashSet-voorbeeld waarbij dubbele elementen worden genegeerd

In dit voorbeeld zien we dat HashSet geen dubbele elementen toestaat.

 import java.util.*; class HashSet2{ public static void main(String args[]){ //Creating HashSet and adding elements HashSet set=new HashSet(); set.add('Ravi'); set.add('Vijay'); set.add('Ravi'); set.add('Ajay'); //Traversing elements Iterator itr=set.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } } 
 Ajay Vijay Ravi 

Java HashSet-voorbeeld om elementen te verwijderen

Hier zien we verschillende manieren om een ​​element te verwijderen.

Java programmeert priemgetallen
 import java.util.*; class HashSet3{ public static void main(String args[]){ HashSet set=new HashSet(); set.add('Ravi'); set.add('Vijay'); set.add('Arun'); set.add('Sumit'); System.out.println('An initial list of elements: '+set); //Removing specific element from HashSet set.remove('Ravi'); System.out.println('After invoking remove(object) method: '+set); HashSet set1=new HashSet(); set1.add('Ajay'); set1.add('Gaurav'); set.addAll(set1); System.out.println('Updated List: '+set); //Removing all the new elements from HashSet set.removeAll(set1); System.out.println('After invoking removeAll() method: '+set); //Removing elements on the basis of specified condition set.removeIf(str->str.contains('Vijay')); System.out.println('After invoking removeIf() method: '+set); //Removing all the elements available in the set set.clear(); System.out.println('After invoking clear() method: '+set); } } 
 An initial list of elements: [Vijay, Ravi, Arun, Sumit] After invoking remove(object) method: [Vijay, Arun, Sumit] Updated List: [Vijay, Arun, Gaurav, Sumit, Ajay] After invoking removeAll() method: [Vijay, Arun, Sumit] After invoking removeIf() method: [Arun, Sumit] After invoking clear() method: [] 

Java HashSet uit een andere verzameling

 import java.util.*; class HashSet4{ public static void main(String args[]){ ArrayList list=new ArrayList(); list.add('Ravi'); list.add('Vijay'); list.add('Ajay'); HashSet set=new HashSet(list); set.add('Gaurav'); Iterator i=set.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } } 
 Vijay Ravi Gaurav Ajay 

Java HashSet Voorbeeld: Boek

Laten we een HashSet-voorbeeld bekijken waarin we boeken toevoegen om alle boeken in te stellen en af ​​te drukken.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class HashSetExample { public static void main(String[] args) { HashSet set=new HashSet(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to HashSet set.add(b1); set.add(b2); set.add(b3); //Traversing HashSet for(Book b:set){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 

Uitgang:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Dit vind je misschien ook leuk:

Werking van HashSet in Java