logo

Java HashSet

Java HashSet -luokkahierarkia

Java HashSet -luokkaa käytetään luomaan kokoelma, joka käyttää hash-taulukkoa varastointiin. Se perii AbstractSet-luokan ja toteuttaa Set-rajapinnan.

Tärkeitä kohtia Java HashSet -luokasta ovat:

np missä
  • HashSet tallentaa elementit käyttämällä mekanismia nimeltä hajautus.
  • HashSet sisältää vain ainutlaatuisia elementtejä.
  • HashSet sallii nolla-arvon.
  • HashSet-luokkaa ei ole synkronoitu.
  • HashSet ei ylläpidä lisäysjärjestystä. Täällä elementit lisätään niiden hash-koodin perusteella.
  • HashSet on paras tapa hakutoimintoihin.
  • HashSetin alkuperäinen oletuskapasiteetti on 16 ja kuormituskerroin 0,75.

Ero luettelon ja joukon välillä

Luettelo voi sisältää päällekkäisiä elementtejä, kun taas joukko sisältää vain yksilöllisiä elementtejä.

HashSet-luokan hierarkia

HashSet-luokka laajentaa AbstractSet-luokkaa, joka toteuttaa Set-rajapinnan. Set-käyttöliittymä perii Collection- ja Iterable-rajapinnat hierarkkisessa järjestyksessä.


HashSet-luokkailmoitus

Katsotaanpa luokan java.util.HashSet ilmoitus.

java bool merkkijonoon
 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Java HashSet -luokan rakentajat

SN Rakentaja Kuvaus
1) HashSet() Sitä käytetään oletusarvoisen HashSetin luomiseen.
2) HashSet (sisäinen kapasiteetti) Sitä käytetään alustamaan tiivistejoukon kapasiteetti annettuun kokonaislukuarvon kapasiteettiin. Kapasiteetti kasvaa automaattisesti, kun elementtejä lisätään HashSetiin.
3) HashSet (sisäinen kapasiteetti, float loadFactor) Sitä käytetään alustamaan tiivistejoukon kapasiteetti annettuun kokonaislukuarvoon ja määritettyyn kuormituskerrokseen.
4) HashSet(kokoelma c) Sitä käytetään hajautusjoukon alustamiseen käyttämällä kokoelman c elementtejä.

Java HashSet -luokan menetelmät

Java HashSet -luokan erilaiset menetelmät ovat seuraavat:

SN Muokkaus ja tyyppi Menetelmä Kuvaus
1) boolean lisää (E e) Sitä käytetään lisäämään määritetty elementti tähän joukkoon, jos sitä ei vielä ole.
2) mitätön asia selvä() Sitä käytetään kaikkien elementtien poistamiseen sarjasta.
3) esine klooni() Sitä käytetään palauttamaan matala kopio tästä HashSet-esiintymästä: itse elementtejä ei kloonata.
4) boolean sisältää (objekti o) Sitä käytetään palauttamaan tosi, jos tämä joukko sisältää määritetyn elementin.
5) boolean on tyhjä() Sitä käytetään palauttamaan tosi, jos tämä joukko ei sisällä elementtejä.
6) Iteraattori iteraattori() Sitä käytetään palauttamaan iteraattori tämän joukon elementtien päälle.
7) boolean poista (objekti o) Sitä käytetään määritetyn elementin poistamiseen tästä joukosta, jos se on olemassa.
8) int koko() Sitä käytetään palauttamaan joukon elementtien lukumäärä.
9) Jakaja splitter() Sitä käytetään luomaan myöhään sitova ja nopea jakaja joukon elementtien päälle.

Java HashSet -esimerkki

Katsotaanpa yksinkertainen esimerkki HashSetistä. Huomaa, että elementit toistuvat järjestämättömässä kokoelmassa.

 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 -esimerkki, jossa ei huomioida päällekkäisiä elementtejä

Tässä esimerkissä näemme, että HashSet ei salli päällekkäisiä elementtejä.

 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 -esimerkki elementtien poistamiseksi

Tässä näemme erilaisia ​​tapoja poistaa elementti.

 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 toisesta kokoelmasta

 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 Esimerkki: Kirja

Katsotaanpa HashSet-esimerkkiä, jossa lisäämme kirjoja sarjaan ja tulostamme kaikki kirjat.

base64 javascriptin purku
 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); } } } 

Lähtö:

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

Saatat pitää myös:

HashSetin toiminta Javassa