„Java HashSet“ klasė naudojama kolekcijai, kurioje saugojimui naudojama maišos lentelė, sukurti. Jis paveldi AbstractSet klasę ir įgyvendina Set sąsają.
Svarbūs dalykai apie „Java HashSet“ klasę yra šie:
java pertraukai
- HashSet saugo elementus naudodamas mechanizmą, vadinamą maišos.
- HashSet yra tik unikalių elementų.
- HashSet leidžia nulinę reikšmę.
- HashSet klasė nesinchronizuota.
- HashSet nepalaiko įterpimo tvarkos. Čia elementai įterpiami pagal jų maišos kodą.
- HashSet yra geriausias būdas atlikti paieškos operacijas.
- Pradinė numatytoji HashSet talpa yra 16, o apkrovos koeficientas yra 0,75.
Skirtumas tarp sąrašo ir rinkinio
Sąraše gali būti pasikartojančių elementų, o rinkinyje yra tik unikalių elementų.
HashSet klasės hierarchija
„HashSet“ klasė išplečia „AbstractSet“ klasę, kuri įgyvendina „Set“ sąsają. „Set“ sąsaja paveldi „Collection“ ir „Iterable“ sąsajas hierarchine tvarka.
HashSet klasės deklaracija
Pažiūrėkime java.util.HashSet klasės deklaraciją.
public class HashSet extends AbstractSet implements Set, Cloneable, Serializable
Java HashSet klasės konstruktoriai
SN | Konstruktorius | apibūdinimas |
---|---|---|
1) | HashSet () | Jis naudojamas numatytajam HashSet sukurti. |
2) | HashSet (tarpinė talpa) | Jis naudojamas inicijuoti maišos rinkinio talpą iki nurodytos sveikosios vertės talpos. Talpa auga automatiškai, kai elementai pridedami prie HashSet. |
3) | HashSet (vidinė talpa, plūduriuojančios apkrovos koeficientas) | Jis naudojamas inicijuoti maišos rinkinio talpą iki nurodytos sveikosios vertės talpos ir nurodyto apkrovos koeficiento. |
4) | HashSet (rinkinys c) | Jis naudojamas maišos rinkiniui inicijuoti naudojant rinkinio c elementus. |
Java HashSet klasės metodai
Įvairūs Java HashSet klasės metodai yra tokie:
SN | Modifikatorius ir tipas | Metodas | apibūdinimas |
---|---|---|---|
1) | loginis | pridėti (E e) | Jis naudojamas nurodytam elementui įtraukti į šį rinkinį, jei jo dar nėra. |
2) | tuštuma | aišku () | Jis naudojamas pašalinti visus elementus iš rinkinio. |
3) | objektas | klonas () | Jis naudojamas negiliai šio HashSet egzemplioriaus kopijai grąžinti: patys elementai nėra klonuoti. |
4) | loginis | yra (O objektas) | Jis naudojamas norint grąžinti „true“, jei šiame rinkinyje yra nurodytas elementas. |
5) | loginis | Yra tuščias() | Jis naudojamas norint grąžinti „true“, jei šiame rinkinyje nėra elementų. |
6) | Iteratorius | iteratorius () | Jis naudojamas norint grąžinti šio rinkinio elementų iteratorių. |
7) | loginis | pašalinti (O objektas) | Jis naudojamas nurodytam elementui pašalinti iš šio rinkinio, jei jis yra. |
8) | tarpt | dydis () | Jis naudojamas rinkinio elementų skaičiui grąžinti. |
9) | Skirstytuvas | skirstytuvas () | Jis naudojamas norint sukurti vėlai įrišamą ir greitą skirstytuvą per rinkinio elementus. |
Java HashSet pavyzdys
Pažiūrėkime paprastą HashSet pavyzdį. Atkreipkite dėmesį, kad elementai kartojasi netvarkingoje kolekcijoje.
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 pavyzdys, ignoruojant pasikartojančius elementus
Šiame pavyzdyje matome, kad HashSet neleidžia pasikartojančių 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 pavyzdys elementams pašalinti
Čia matome įvairius būdus, kaip pašalinti elementą.
in.kita java
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 iš kitos kolekcijos
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 pavyzdys: knyga
Pažiūrėkime HashSet pavyzdį, kai pridedame knygų rinkinį ir spausdiname visas knygas.
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); } } }
Išvestis:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
Tau taip pat gali patikti:
„HashSet“ veikimas „Java“.