Red de conocimiento informático - Aprendizaje de programación - ¿Cuáles son las características de hashset y hashmap en java?

¿Cuáles son las características de hashset y hashmap en java?

¿Qué es HashSet?

HashSet implementa la interfaz Set, que no permite que aparezcan valores duplicados en el conjunto. Cuando nos referimos a un HashSet, primero debemos asegurarnos de que antes de almacenar el objeto en el HashSet, debemos asegurarnos de que el objeto sobrecargue los métodos iguales () y hashCode () para que podamos comparar si los valores. de los objetos son iguales para garantizar que no haya igualdad almacenada en el conjunto. Si no sobrecargamos estos dos métodos, se utilizará la implementación predeterminada de este método.

El método público booleano add(Object o) se utiliza para agregar elementos a la colección. Si el valor del elemento se repite, devuelve falso; si el elemento se agrega correctamente, devuelve verdadero.

¿Qué es HashMap?

HashMap implementa la interfaz Map, que puede asignar pares clave-valor. El mapa no permite valores clave duplicados. Hay dos implementaciones básicas de la interfaz Map, HashMap y TreeMap. TreeMap conserva el orden de los objetos, mientras que HashMap no conserva el orden de los objetos. HashMap es asincrónico, pero el marco de recopilación proporciona métodos para garantizar que HashMap esté sincronizado, por lo que cuando varios subprocesos acceden a HashMap al mismo tiempo, se garantiza que solo un subproceso cambiará el mapa.

Puedes leer este artículo para comprender cómo funciona HashMap y leer este artículo para comprender la diferencia entre HashMap y HashTable.

La diferencia entre HashSet y HashMap

*HashMap* *HashSet*

HashMap implementa la interfaz Map HashSet implementa la interfaz Set

HashMap Almacena pares clave-valor. HashSet solo almacena objetos.

Utilice el método put() para colocar elementos en Map. Utilice el método add() para colocar elementos en conjuntos.

HashMap usa objetos clave para calcular el valor del código hash HashSet usa objetos miembro para calcular los valores del código hash de dos objetos, así que use el método igual () para determinar la equivalencia de los objetos. diferente, se devuelve false

HashMap es más rápido porque utiliza claves únicas para obtener objetos. HashSet es más lento que HashMap

.