¿Se pueden repetir las claves en los mapas de Java?
HashMap La estructura de datos subyacente de HashSet se implementa de la siguiente manera: mantener una HashTable. Los elementos del contenedor se almacenan en una Hashtable. Al agregar elementos, ¿cómo puedo determinar si hay elementos duplicados? Cada elemento agregado tiene un código hash (valor hash), primero compare los hashes, ¿son iguales? Si el código hash es el mismo, compare el método igual (). Si también es el mismo, la JVM pensará que los datos ya existen y no agregará más datos.
TreeMap TreeSet La implementación de la estructura de datos subyacente es mantener un árbol binario. Al agregar un elemento contenedor, ¿cómo determinan si existe el mismo elemento? Todos conocemos TreeMap y TreeSet que almacenan datos en orden. Para mantener la unicidad de los datos. A medida que se agregan datos, llaman al método compareTo() de Comparable implementado en el elemento (código 1). O cree la colección misma pasando un iterador (código 2). Esto se logra llamando al método de comparación, que agrega datos al subárbol izquierdo cuando el método devuelve -1 y agrega datos al subárbol derecho cuando el método devuelve 1. ¡Los mismos datos que devuelven 0 no agregarán elementos!