logo

Java HashSet

Java HashSet klases hierarhija

Java HashSet klase tiek izmantota, lai izveidotu kolekciju, kas glabāšanai izmanto hash tabulu. Tas pārmanto AbstractSet klasi un ievieš Set interfeisu.

uz stīgu metodi java

Svarīgi punkti par Java HashSet klasi ir šādi:

  • HashSet saglabā elementus, izmantojot mehānismu, ko sauc jaukšana.
  • HashSet satur tikai unikālus elementus.
  • HashSet pieļauj nulles vērtību.
  • HashSet klase nav sinhronizēta.
  • HashSet neuztur ievietošanas secību. Šeit elementi tiek ievietoti, pamatojoties uz to jaucējkodu.
  • HashSet ir labākā pieeja meklēšanas darbībām.
  • HashSet sākotnējā noklusējuma jauda ir 16, un slodzes koeficients ir 0,75.

Atšķirība starp sarakstu un komplektu

Sarakstā var būt dublēti elementi, savukārt komplektā ir tikai unikāli elementi.

HashSet klases hierarhija

HashSet klase paplašina AbstractSet klasi, kas ievieš Set interfeisu. Iestatīšanas saskarne pārmanto kolekcijas un iterējamās saskarnes hierarhiskā secībā.


HashSet klases deklarācija

Apskatīsim klases java.util.HashSet deklarāciju.

pārfrāzējot if by rudyard kipling
 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Java HashSet klases konstruktori

SN Konstruktors Apraksts
1) HashSet() To izmanto, lai izveidotu noklusējuma HashSet.
2) HashSet (iespējams) To izmanto, lai inicializētu jaucējkopas ietilpību uz doto veselo skaitļu vērtības kapacitāti. Jauda palielinās automātiski, kad elementi tiek pievienoti HashSet.
3) HashSet (iespējams, peldošā slodzes koeficients) To izmanto, lai inicializētu jaucējkopas ietilpību uz doto veselo skaitļu vērtību kapacitāti un norādīto slodzes koeficientu.
4) HashSet (kolekcija c) To izmanto, lai inicializētu jaucējkopu, izmantojot kolekcijas elementus c.

Java HashSet klases metodes

Dažādas Java HashSet klases metodes ir šādas:

SN Modifikators un tips Metode Apraksts
1) Būla pievienot (E e) To izmanto, lai šai kopai pievienotu norādīto elementu, ja tas vēl nav pieejams.
2) nederīgs skaidrs () To izmanto, lai noņemtu visus elementus no komplekta.
3) objektu klons () To izmanto, lai atgrieztu seklu šīs HashSet instances kopiju: paši elementi netiek klonēti.
4) Būla satur (Objekts o) To izmanto, lai atgrieztu patiesu, ja šajā kopā ir norādītais elements.
5) Būla ir tukšs() To izmanto, lai atgrieztu patiesu, ja šajā kopā nav elementu.
6) Iterators iterators () To izmanto, lai atgrieztu iteratoru virs šīs kopas elementiem.
7) Būla noņemt (Objekts o) To izmanto, lai noņemtu norādīto elementu no šīs kopas, ja tas ir.
8) starpt Izmērs() To izmanto, lai atgrieztu komplektā esošo elementu skaitu.
9) Sadalītājs sadalītājs () To izmanto, lai izveidotu vēlu saistošu un ātru atteices sadalītāju virs komplekta elementiem.

Java HashSet piemērs

Apskatīsim vienkāršu HashSet piemēru. Ievērojiet, elementi atkārtojas nesakārtotā kolekcijā.

 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 piemērs, ignorējot dublētos elementus

Šajā piemērā mēs redzam, ka HashSet neatļauj dublēt elementus.

 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 piemērs elementu noņemšanai

Šeit mēs redzam dažādus veidus, kā noņemt elementu.

 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 no citas kolekcijas

 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 piemērs: grāmata

Apskatīsim HashSet piemēru, kurā mēs pievienojam grāmatas komplektam un drukājam visas grāmatas.

java salīdzināms
 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); } } } 

Izvade:

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

Jums var patikt arī:

HashSet darbība Java