logo

Java HashSet

Java HashSet klasshierarki

Java HashSet-klassen används för att skapa en samling som använder en hashtabell för lagring. Den ärver klassen AbstractSet och implementerar Set-gränssnittet.

De viktiga punkterna om Java HashSet-klassen är:

strängfunktioner i java
  • HashSet lagrar elementen genom att använda en mekanism som kallas hashning.
  • HashSet innehåller endast unika element.
  • HashSet tillåter nullvärde.
  • HashSet-klassen är inte synkroniserad.
  • HashSet upprätthåller inte insättningsordningen. Här infogas element utifrån deras hashkod.
  • HashSet är den bästa metoden för sökoperationer.
  • Den initiala standardkapaciteten för HashSet är 16, och belastningsfaktorn är 0,75.

Skillnaden mellan List och Set

En lista kan innehålla dubbletter av element medan Set endast innehåller unika element.

Hierarki för HashSet-klassen

Klassen HashSet utökar klassen AbstractSet som implementerar Set-gränssnittet. Set-gränssnittet ärver Collection och Iterable-gränssnitt i hierarkisk ordning.


HashSet-klassdeklaration

Låt oss se deklarationen för klassen java.util.HashSet.

 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Konstruktörer av Java HashSet-klassen

SN Konstruktör Beskrivning
1) HashSet() Den används för att konstruera en standard HashSet.
2) HashSet (int kapacitet) Den används för att initiera hashuppsättningens kapacitet till den givna heltalsvärdeskapaciteten. Kapaciteten växer automatiskt när element läggs till i HashSet.
3) HashSet(int kapacitet, float loadFactor) Den används för att initiera hash-uppsättningens kapacitet till det givna heltalsvärdets kapacitet och den specificerade belastningsfaktorn.
4) HashSet(Collection c) Den används för att initiera hash-uppsättningen genom att använda elementen i samlingen c.

Metoder för Java HashSet-klassen

Olika metoder för Java HashSet-klassen är följande:

SN Modifierare & Typ Metod Beskrivning
1) booleskt add(E e) Den används för att lägga till det angivna elementet till denna uppsättning om det inte redan finns.
2) tomhet klar() Den används för att ta bort alla element från setet.
3) objekt klona() Den används för att returnera en ytlig kopia av denna HashSet-instans: elementen i sig är inte klonade.
4) booleskt innehåller(Objekt o) Den används för att returnera true om denna uppsättning innehåller det angivna elementet.
5) booleskt är tom() Den används för att returnera true om denna uppsättning inte innehåller några element.
6) Iterator iterator() Den används för att returnera en iterator över elementen i denna uppsättning.
7) booleskt ta bort(Objekt o) Den används för att ta bort det angivna elementet från denna uppsättning om det finns.
8) int storlek() Den används för att returnera antalet element i uppsättningen.
9) Spliterator spliterator() Den används för att skapa en sent bindande och misslyckad splitterator över elementen i setet.

Exempel på Java HashSet

Låt oss se ett enkelt exempel på HashSet. Observera att elementen itererar i en oordnad samling.

 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-exempel ignorerar dubbletter av element

I det här exemplet ser vi att HashSet inte tillåter dubbletter av element.

 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 exempel för att ta bort element

Här ser vi olika sätt att ta bort ett element.

callback helvete i javascript
 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 från en annan samling

 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 Exempel: Bok

Låt oss se ett HashSet-exempel där vi lägger till böcker för att ställa in och skriver ut alla böcker.

 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); } } } 

Produktion:

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

Du kanske också gillar:

Arbetar med HashSet i Java