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