Aprenda qué es HashSet en Java y cómo empezar a utilizarlo.



Este artículo sobre HashSet en Java le dará una descripción completa de qué es exactamente HashSet en Java y cómo implementarlo. También hablará sobre los diversos métodos y constructores compatibles con la clase Java HashSet.

HashSet en Java es uno de los aspectos más importantes de . Normalmente se utiliza para almacenar valores únicos de forma desordenada. A través de este artículo sobre HashSet en Java, le daré un recorrido completo de qué es exactamente un HashSet y cómo puede usarlo en su aplicación.

A continuación se muestran los temas cubiertos en este artículo:





Comencemos entendiendo primero qué son HashSet en Java.

HashSet en Java



java.util.HashSet clase es un miembro del marco de colecciones de Java quehereda la clase AbstractSet yimplementa elConjunto interfaz . Implementa implícitamente una tabla hash para crear y almacenar una colección de elementos únicos. Hashtable no es más que una instancia de la clase HashMap que usa un mecanismo de hash para almacenar la información dentro de un HashSet.

El hash es el proceso de convertir el contenido informativo en un valor único que se conoce más popularmente como código hash. Este código hash se utiliza para indexar los datos asociados con la clave. Todo el proceso de transformación de la clave informativa en el código hash se realiza internamente.

Ahora para una mejor comprensión de HashSet en Java, permítanme enumerar algunas de sus características:



  1. Un HashSet en Java no permite valores duplicados.
  2. Puede contener valores nulos.
  3. HashSet no sigue el orden de inserción para almacenar los datos, sino que utiliza el código hash para indexar los valores dentro.
  4. No es sincronizado lo que automáticamente lo hace inseguro para subprocesos.
  5. La clase HashSet también implementa Cloneable yInterfaces serializables.

Ahora que sabe qué es exactamente HashSet en Java, avancemos más en este artículo y desmitifiquemos las diferencias entre HashMap y HashSet en Java.

Java HashSet vs HashMap

HashSet HashMap
Implementosjava.util.Configurar interfazImplementosjava.util.Map
Almacena datos como objetosAlmacena datos en forma de par clave-valor
HashSet requiere solo un parámetro para la inicialización de su objetoRequiere dos parámetros (clave, valor) para la inicialización de su objeto
No permite elementos duplicadosNo permite claves duplicadas, pero puede almacenar valores duplicados
Permite un solo valor nuloPermite una única clave nula y cualquier número de valores nulos
HashSet usa add ()método para agregar o almacenar datosHashMap usa el método put () para almacenar datos

Ahora que tiene una clara distinción entre HashMap y HashSet, centrémonos en HashSet nuevamente y profundicemos en él. En la siguiente sección de este artículo, le presentaré la jerarquía completa de HashSet en Java.

Jerarquía HashSet en Java

Como puede ver en el diagrama que se muestra a continuación,La clase HashSet implementa la interfaz Set. La interfaz Set hereda además la interfaz Collection, que finalmente extiende la interfaz Iterable en un orden jerárquico.

secuencia de fibonacci en c ++

Jerarquía de HashSet de Java - HashSet en Java - Edureka

Ahora, avanzando con este artículo de HashSet en Java, echemos un vistazo a los distintos constructores apoyado por esta clase.

Constructores de la clase java.util.HashSet

Constructor Descripción
HashSet () Este es el constructor predeterminado de la clase HashSet
HashSet (capacidad int) Este constructor se utiliza para inicializar la capacidad inicial del conjunto hash. La capacidad puede crecer dinámicamente con la adición de nuevos elementos.
HashSet (capacidad int, capacidad de carga flotante) Este constructor se utiliza para inicializar la capacidad inicial del conjunto hash junto con la capacidad de carga
HashSet (Colección c) Este constructor se usa para inicializarel conjunto de hash utilizando los elementos de la Colección c

Estos fueron los cuatro constructores de la clase HashSet en . Veamos ahora cuáles son los distintos definido en Java HashSet.

Métodos de la clase java.util.HashSet

Método Descripción
suma booleana (objeto obj) Este método ayuda a agregar un elemento especificado en el HashSet solo si no está presente
vacío claro () Este método ayuda a eliminar todos los elementos de HashSet
Clonar objeto () Este método devuelve una copia superficial de la instancia de HashSet en lugar de clones de los elementos de HashSet.
booleano contiene (Objeto o) Este método devuelve verdadero si el elemento pasado está presente dentro del HashSet
boolean isEmpty () Este método devuelve verdadero en caso de que el HashSet esté vacío
Iterador iterador () Este método devuelve un iterador sobre los elementos presentes en el HashSet
booleano eliminar (Objeto o) Este método ayuda a eliminar el elemento especificado del HashSet si está presente
int tamaño () Este método devuelve el número total de elementos presentes en el HashSet

Junto con los métodos enumerados anteriormente, la clase HashSet en Java también contiene el de sus superclases.

Intentemos ahora implementar estos métodos y ponernos manos a la obra con la codificación.

Implementación de HashSet en el programa Java

En el siguiente ejemplo, intentaremos implementar varios métodos proporcionados por la clase HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Creando un HashSet Set eduCourses = new HashSet () // Añadiendo nuevos elementos al 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') // Se ignorará la adición de elementos duplicados eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Verifique si el HashSet contiene un elemento específico String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' está en la lista de cursos. ')} else {System.out.println (myCourse +' no está en la lista de cursos. ')} // Ordenando eduCourses usando List List list = new ArrayList (eduCourses) Collections.sort (list) // Imprimiendo los elementos ordenados del HashSet System.out.println (' Imprimiendo los Cursos en orden ordenado usando List: '+ list) // Eliminando elementos de HashSet usando remove () eduCourses.remove (' Python ') // Iterando sobre los elementos de HashSet System.out.println (' Iterando sobre la lista de cursos después de eliminar Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Creando otro objeto de HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Eliminando todos los elementos nuevos de HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Después de invocar removeAll () método cursos restantes: '+ eduCourses) // Eliminando elementos sobre la base de la condición especificada eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Después de invocar el método removeIf (): '+ eduCourses) // Eliminando elementos de eduCourses que se especifican en eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet después de' + 'operación keepAll (): '+ eduNewCourses) // Eliminando todos los elementos disponibles en el conjunto eduCourses.clear () System.out.println (' Después de invocar el método clear (): '+ eduCourses)}}

Cuando ejecute el código anterior, le dará el resultado que se muestra a continuación.

Con esto llegamos al final de este artículo. Espero haber podido mantener los conceptos claros y nítidos. Puedes aprender más sobre pasando por nuestro .

Ahora que ha entendido qué es un HashSet en Java, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación y certificación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo 'HashSet en Java' y nos comunicaremos con usted lo antes posible.

que es big data y hadoop