logo

Java HashSet

Java HashSet klasės hierarchija

„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“.