Páginas

20/7/16

Que es un HashMap y cómo funciona

Que es un HashMap y cómo funciona.

Que es un HashMap y cómo funciona.




Pregunta fija para una entrevista, a veces trabajamos con HashMap pero no sabemos en realidad el concepto del mismo y menos como funciona internamente. Un HashMap es la implementación de la interface Map, esta interface es un tipo de
CollectionUna Collection es una interface que agrupa un conjunto de elementos.
que almacena datos asociando una
llave a un valorMap<key, value>. key= la llave. value= String, Integer, Boolean...
, esta interface sirve para muchas cosas y tiene ciertas caracteristicas que la definen, por ejemplo, no permite key duplicados, cada key tiene que estar asociado a un valor como máximo, si agregas un key que ya existe sobrescribe el valor del key anterior, solo permite Object types lo que quiere decir que no puedes poner un valor primitivo...
Volviendo al tema casi siempre se utiliza el HashMap como implementación del Map pero tiene sus cosas, por ejemplo, no garantiza que los elementos que vamos agregando estén ordenados, no deberíamos usarla en aplicaciones multithread porque no es synchronized, pero como todo en el mundo de Java, esto se puede lograr con unas líneas de código.

El HashMap funciona con el
principio del hashingEl principio se basa en asignar una ubicación para cierta key, dependiendo de una key determinada se le asigna un id único, en este caso se utiliza el método hashCode() el cual heredan todos los objetos en Java, algo importante de resaltar es que un objeto solo retornara un id, lo que quiere decir que si invocamos el hashcode con otro objeto idéntico devolverá el mismo id.
, como ya explique trabaja asignando una ubicación a una key con el método hashCode() de Java.

Comenzando desde el principio, así podemos crear un HashMap:
  // Un HashMap simple de llave String y valor Integer.
     HashMap<String, Integer> hashMapEdad = new HashMap<String, Integer>();
    
El constructor del HashMap que invocamos automáticamente le asigna