logo

Java HashSet

Jerarquia de classes Java HashSet

La classe Java HashSet s'utilitza per crear una col·lecció que utilitza una taula hash per a l'emmagatzematge. Hereta la classe AbstractSet i implementa la interfície Set.

Els punts importants sobre la classe Java HashSet són:

conversió de cadena java a nombre enter
  • HashSet emmagatzema els elements mitjançant un mecanisme anomenat hashing.
  • HashSet només conté elements únics.
  • HashSet permet valor nul.
  • La classe HashSet no està sincronitzada.
  • HashSet no manté l'ordre d'inserció. Aquí, els elements s'insereixen en funció del seu codi hash.
  • HashSet és el millor enfocament per a les operacions de cerca.
  • La capacitat inicial predeterminada de HashSet és 16 i el factor de càrrega és 0,75.

Diferència entre llista i conjunt

Una llista pot contenir elements duplicats, mentre que Set només conté elements únics.

Jerarquia de la classe HashSet

La classe HashSet amplia la classe AbstractSet que implementa la interfície Set. La interfície Set hereta les interfícies Col·lecció i Iterable en ordre jeràrquic.


Declaració de classe HashSet

Vegem la declaració de la classe java.util.HashSet.

quin any es va inventar l'ordinador
 public class HashSet extends AbstractSet implements Set, Cloneable, Serializable 

Constructors de la classe Java HashSet

SN Constructor Descripció
1) HashSet() S'utilitza per construir un HashSet predeterminat.
2) HashSet (capacitat int) S'utilitza per inicialitzar la capacitat del conjunt hash a la capacitat del valor enter donat. La capacitat creix automàticament a mesura que s'afegeixen elements al HashSet.
3) HashSet (capacitat int, factor de càrrega flotant) S'utilitza per inicialitzar la capacitat del conjunt hash amb la capacitat del valor enter donat i el factor de càrrega especificat.
4) HashSet(Col·lecció c) S'utilitza per inicialitzar el conjunt hash utilitzant els elements de la col·lecció c.

Mètodes de la classe Java HashSet

Diversos mètodes de classe Java HashSet són els següents:

SN Modificador i tipus Mètode Descripció
1) booleà afegir (E e) S'utilitza per afegir l'element especificat a aquest conjunt si encara no està present.
2) buit clar () S'utilitza per eliminar tots els elements del conjunt.
3) objecte clonar () S'utilitza per retornar una còpia superficial d'aquesta instància de HashSet: els elements en si no es clonen.
4) booleà conté (Objecte o) S'utilitza per retornar true si aquest conjunt conté l'element especificat.
5) booleà està buit() S'utilitza per retornar true si aquest conjunt no conté cap element.
6) Iterador iterador() S'utilitza per retornar un iterador sobre els elements d'aquest conjunt.
7) booleà eliminar (Objecte o) S'utilitza per eliminar l'element especificat d'aquest conjunt si està present.
8) int mida () S'utilitza per retornar el nombre d'elements del conjunt.
9) Divisor divisor () S'utilitza per crear un Spliterator d'enquadernació tardana i de fallada ràpida sobre els elements del conjunt.

Exemple de Java HashSet

Vegem un exemple senzill de HashSet. Tingueu en compte que els elements iteren en una col·lecció no ordenada.

 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 

Exemple de Java HashSet ignorant els elements duplicats

En aquest exemple, veiem que HashSet no permet elements duplicats.

 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 

Exemple de Java HashSet per eliminar elements

Aquí, veiem diferents maneres d'eliminar un element.

 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 d'una altra col·lecció

 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 Exemple: llibre

Vegem un exemple de HashSet on estem afegint llibres per configurar i imprimint tots els llibres.

tipus d'ordinador
 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); } } } 

Sortida:

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

També et pot agradar:

Funcionament de HashSet a Java