Apreneu què és HashSet a Java i com començar-hi.



Aquest article sobre HashSet a Java us proporcionarà una visió completa de què és exactament HashSet a Java i de com implementar-lo. També es parlarà dels diversos mètodes i constructors compatibles amb la classe Java HashSet.

HashSet a Java és un dels aspectes més importants de . Normalment s’utilitza per emmagatzemar valors únics de manera desordenada. Mitjançant aquest article sobre HashSet a Java, us donaré un detall complet de què és exactament un HashSet i de com podeu utilitzar-lo a la vostra aplicació.

A continuació es detallen els temes tractats en aquest article:





Comencem comprenent primer què són HashSet a Java.

HashSet a Java



java.util.HashSet classe és membre del marc de col·leccions Java quehereta la classe AbstractSet iimplementa el fitxerConjunt interfície . Implementa implícitament una taula d’etiquetes per crear i emmagatzemar una col·lecció d’elements únics. Hashtable no és res més que una instància de la classe HashMap que utilitza un mecanisme de hash per emmagatzemar la informació dins d'un HashSet.

El hash és el procés de convertir el contingut informatiu en un valor únic que es coneix més popularment com a codi hash. Aquest codi hash s'utilitza per indexar les dades associades a la clau. Tot el procés de transformació de la clau informativa en codi hash es realitza internament.

valor per defecte del caràcter a Java

Ara, per obtenir una millor comprensió de HashSet a Java, deixeu-me enumerar algunes de les seves característiques:



  1. Un HashSet a Java no permet duplicar valors.
  2. Pot contenir valors nuls.
  3. HashSet no segueix l'ordre d'inserció per emmagatzemar les dades, sinó que fa ús del codi hash per indexar els valors.
  4. No és sincronitzada cosa que automàticament el fa insegur.
  5. La classe HashSet també implementa Cloneable iInterfícies serialitzables.

Ara que ja sabeu què és exactament HashSet a Java, anem més enllà amb aquest article i desmitifiquem les diferències entre HashMap i HashSet a Java.

Java HashSet vs HashMap

HashSet HashMap
Implementacionsjava.util.Estableix la interfícieImplementacionsjava.util.Map
Emmagatzema les dades com a objectesEmmagatzema les dades en forma de parell clau-valor
HashSet requereix només un paràmetre per a la inicialització de l'objecteRequereix dos paràmetres (clau, valor) per a la inicialització de l'objecte
No permet elements duplicatsNo permet les claus duplicades, però podeu emmagatzemar-ne els valors
Permet un valor nulPermet una sola clau nul·la i qualsevol nombre de valors nuls
HashSet use add ()mètode per afegir o emmagatzemar dadesHashMap utilitza el mètode put () per emmagatzemar dades

Ara que teniu una clara distinció entre HashMap i HashSet, concentrem-nos de nou en HashSet i aprofundim-hi. A la següent secció d’aquest article, us presentaré la jerarquia completa d’HashSet a Java.

HashSet Hierarchy a Java

Com podeu veure al diagrama següent,La classe HashSet implementa la interfície Set. La interfície Set també hereta la interfície de col·lecció, que finalment amplia la interfície iterable en un ordre jeràrquic.

executeu la consulta de rusc des de la línia d'ordres

Java HashSet Hierarchy - HashSet a Java - Edureka

Ara, avançant amb aquest article de HashSet a Java, comprovem els diversos constructors recolzat per aquesta classe.

Constructors de la classe java.util.HashSet

constructor Descripció
HashSet () Aquest és el constructor per defecte de la classe HashSet
HashSet (capacitat int) Aquest constructor s’utilitza per inicialitzar la capacitat inicial del conjunt de hash. La capacitat pot créixer dinàmicament amb l'addició de nous elements
HashSet (capacitat int, capacitat flotant) Aquest constructor s'utilitza per inicialitzar la capacitat inicial del conjunt de hash juntament amb la capacitat de càrrega
HashSet (col·lecció c) Aquest constructor s’utilitza per inicialitzarel hash establert mitjançant els elements de la col·lecció c

Aquests van ser els quatre constructors de la classe HashSet a . Vegem ara quins són els diversos definit a Java HashSet.

Mètodes de la classe java.util.HashSet

Mètode Descripció
addició booleana (object object) Aquest mètode ajuda a afegir un element especificat al HashSet només si no està present
void clear () Aquest mètode ajuda a eliminar tots els elements de HashSet
Clon d'objectes () Aquest mètode retorna una còpia poc profunda de la instància de HashSet en lloc de clons dels elements de HashSet
booleà conté (Objecte o) Aquest mètode torna cert si l'element passat està present dins del HashSet
boolean isEmpty () Aquest mètode torna cert en cas que el HashSet estigui buit
Iterador iterador () Aquest mètode retorna un iterador sobre els elements presents al HashSet
eliminar booleà (objecte o) Aquest mètode ajuda a eliminar l'element especificat del HashSet si està present
int size () Aquest mètode retorna el nombre total d'elements presents al HashSet

Juntament amb els mètodes esmentats anteriorment, la classe HashSet de Java també conté el fitxer de les seves superclasses.

Intentem ara implementar aquests mètodes i mullar-nos els peus amb la codificació.

similituds entre java i javascript

Implementació de HashSet al programa Java

A l'exemple següent, intentarem implementar diversos mètodes proporcionats per la classe HashSet.

import java.util.HashSet import java.util. * classe pública SampleHashSet {public static void main (String [] args) {// Creació d'un conjunt HashSet eduCourses = nou HashSet () // Afegir nous elements a HashSet eduCourses.add ('Big Data') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // L'addició d'elements duplicats s'ignorarà eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Comproveu si el HashSet conté un element específic String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ') es troba a la llista de cursos. ')} else {System.out.println (myCourse +' no es troba a la llista de cursos. ')} // Ordenar eduCourses mitjançant la llista List List = new ArrayList (eduCourses) Collections.sort (list) // Impressió dels elements ordenats de HashSet System.out.println (' Impressió dels cursos en ordre ordenat mitjançant Llista: '+ llista) // Eliminació d'elements de HashSet mitjançant l'eliminació () eduCourses.remove (' Python ') // Iteració sobre els elements HashSet System.out.println (' Iteració de la llista de cursos després d'eliminar-la) Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Creació d'un altre objecte de HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Eliminació de tots els elements nous de HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Després d'invocar removeAll () cursos de mètodes restants: '+ eduCourses) // Eliminació d'elements sobre la base de la condició especificada eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Després d'invocar el mètode removeIf (): '+ eduCourses) // Eliminació d'elements d'eduCourses que s'especifiquen a eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet després de l'operació' + 'retainAll (): '+ eduNewCourses) // Eliminació de tots els elements disponibles al conjunt eduCourses.clear () System.out.println (' Després d'invocar el mètode clear (): '+ eduCourses)}}

Quan executeu el codi anterior, us donarà la sortida que es mostra a continuació.

Amb això, arribem al final d’aquest article. Espero haver pogut mantenir els conceptes nítids i clars. Podeu obtenir més informació passant pel nostre .

Ara que heu entès què és un HashSet a Java, consulteu el fitxer per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació de Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java. El curs està dissenyat per donar-vos un avantatge en la programació de Java i formar-vos tant per a conceptes bàsics com avançats de Java, juntament amb diversos marcs Java com Hibernate i Spring.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article “HashSet a Java” i us respondrem el més aviat possible.