logo

Java HashSet

Hierarhija razredov Java HashSet

Razred Java HashSet se uporablja za ustvarjanje zbirke, ki za shranjevanje uporablja zgoščeno tabelo. Podeduje razred AbstractSet in implementira vmesnik Set.

Pomembne točke o razredu Java HashSet so:

  • HashSet shrani elemente z uporabo mehanizma, imenovanega zgoščevanje.
  • HashSet vsebuje samo edinstvene elemente.
  • HashSet dovoljuje ničelno vrednost.
  • Razred HashSet ni sinhroniziran.
  • HashSet ne vzdržuje vrstnega reda vstavljanja. Tukaj so elementi vstavljeni na podlagi njihove hashcode.
  • HashSet je najboljši pristop za iskalne operacije.
  • Začetna privzeta zmogljivost HashSeta je 16, faktor obremenitve pa 0,75.

Razlika med seznamom in nizom

Seznam lahko vsebuje podvojene elemente, medtem ko Set vsebuje samo edinstvene elemente.

Hierarhija razreda HashSet

Razred HashSet razširja razred AbstractSet, ki implementira vmesnik Set. Vmesnik Set podeduje vmesnike Collection in Iterable v hierarhičnem vrstnem redu.

dolgo do niza java

Deklaracija razreda HashSet

Oglejmo si deklaracijo za razred java.util.HashSet.

cast int v niz java
 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Konstruktorji razreda Java HashSet

SN Konstruktor Opis
1) HashSet() Uporablja se za izdelavo privzetega HashSeta.
2) HashSet (zmogljivost int) Uporablja se za inicializacijo zmogljivosti zgoščenega nabora na podano zmogljivost celega števila. Zmogljivost samodejno raste, ko se elementi dodajajo v HashSet.
3) HashSet(int zmogljivost, float loadFactor) Uporablja se za inicializacijo zmogljivosti zgoščenega nabora na dano zmogljivost celega števila in podani faktor obremenitve.
4) HashSet(Zbirka c) Uporablja se za inicializacijo zgoščenega niza z uporabo elementov zbirke c.

Metode razreda Java HashSet

Različne metode razreda Java HashSet so naslednje:

SN Modifikator in tip Metoda Opis
1) logično dodati (E e) Uporablja se za dodajanje določenega elementa v ta niz, če še ni prisoten.
2) praznina počisti() Uporablja se za odstranitev vseh elementov iz kompleta.
3) predmet klon() Uporablja se za vrnitev plitke kopije tega primerka HashSet: elementi sami niso klonirani.
4) logično vsebuje (predmet o) Uporablja se za vrnitev true, če ta niz vsebuje navedeni element.
5) logično je prazno() Uporablja se za vrnitev true, če ta niz ne vsebuje elementov.
6) Iterator iterator() Uporablja se za vrnitev iteratorja nad elementi v tem nizu.
7) logično odstrani (predmet o) Uporablja se za odstranitev določenega elementa iz tega niza, če je prisoten.
8) int velikost () Uporablja se za vrnitev števila elementov v nizu.
9) Spliterator spliterator() Uporablja se za ustvarjanje pozno vezave in hitrega razdelilnika nad elementi v nizu.

Primer Java HashSet

Oglejmo si preprost primer HashSeta. Upoštevajte, elementi se ponavljajo v neurejeni zbirki.

 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 

Primer Java HashSet, ki ignorira podvojene elemente

V tem primeru vidimo, da HashSet ne dovoljuje podvojenih elementov.

 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 

Primer Java HashSet za odstranjevanje elementov

Tukaj vidimo različne načine za odstranitev elementa.

 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 iz druge zbirke

 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 

Primer Java HashSet: knjiga

Oglejmo si primer HashSet, kjer dodajamo knjige v nabor in tiskamo vse knjige.

primeri vzorčne kode javascript
 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); } } } 

Izhod:

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

Morda vam bo všeč tudi:

Delovanje HashSeta v Javi