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:
- HashSet a Java
- Java HashSet vs HashMap
- Jerarquia HashSet
- Constructors de la classe java.util.HashSet
- Mètodes de la classe java.util.HashSet
- Implementació de HashSet al programa Java
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:
- Un HashSet a Java no permet duplicar valors.
- Pot contenir valors nuls.
- HashSet no segueix l'ordre d'inserció per emmagatzemar les dades, sinó que fa ús del codi hash per indexar els valors.
- No és sincronitzada cosa que automàticament el fa insegur.
- 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ície | Implementacionsjava.util.Map |
Emmagatzema les dades com a objectes | Emmagatzema les dades en forma de parell clau-valor |
HashSet requereix només un paràmetre per a la inicialització de l'objecte | Requereix dos paràmetres (clau, valor) per a la inicialització de l'objecte |
No permet elements duplicats | No permet les claus duplicades, però podeu emmagatzemar-ne els valors |
Permet un valor nul | Permet una sola clau nul·la i qualsevol nombre de valors nuls |
HashSet use add ()mètode per afegir o emmagatzemar dades | HashMap 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
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.