Colecciones en Java
Colecciones en Java
JAVA
Programacion III
Colecciones en Java:
Una Hashtable: Es una estructura de datos que utiliza una función hash para identificar
datos mediante una llave o clave (ej. Nombre de una persona). La función hash
transforma una llave a un valor índice de un arreglo de elementos. En este caso a una
índice de nuestra Hashtable Java.
Vea que el identificador será el que hace referencia a los datos en este caso solo será un
nombre.
Definiendo variable contenedora:
HahMap & HashSet: La clase HashSet como la clase HashMap tienen una ventaja la cual
es, que los valores que se van insertando en la coleccion internamente no tendran un
orden especifico, esto se debe a que estas clases realizan un ordenamiento interno
mediante el hashcode de el elemento(Objeto), por lo cual no sabremos que elemento
traerá.
Características de Java Hashmap:
• Los valoresse pueden almacenar en un mapa formando un par clave-valor. El
valor se puede recuperar usando la clave pasándola al método correcto.
Esto nos da una ventaja para nosotros que es poder sobrescribir el metodo .hashCode()
y .equals() para asi, si tenemos un objeto que tienen sus mismas caracteristicas y mismo
hashcode no se agregue a la colección , una de las principales ventajas de este metodo
es la rapidez en la insercion de los elemento si tenemos cientos de elementosque
agregar, esta coleccion es la indicada para este trabajo.
El algoritmo de busqueda de un elemento en la colecion es el siguiente:
Encuentra el elemento (Objeto) mediante el hashcode. Imagínense varios personas en
un salon con la misma edad.
Ya que encontro el elemento mediante el hashcode se realiza la comparacion si el objeto
es igual mediante el método .equals(). Imaginen que en ese mismo salon se esta
buscando a una persona con un nombre y apellido especifico.
Nota : Las claves del hashmap débil son del tipo WeakReference.
El objeto de un tipo de referencia débil puede ser recolección de
basura en Java si la referencia ya no se usa en el programa.
Métodos de WeakHashMap:
La WeakHashMapclase proporciona métodos que nos permiten realizar varias
operaciones en el mapa.
• put() - inserta la asignación de clave / valor especificada en el mapa
• putAll() - inserta todas las entradas del mapa especificado en este mapa
• putIfAbsent() - inserta la asignación de clave / valor especificada en el mapa si la
clave especificada no está presente en el mapa.
Acceder a elementos de WeakHashMap:
• Usando entrySet (), keySet () y values ()
o entrySet() - devuelve un conjunto de todas las asignaciones de clave /
valor del mapa
o keySet() - devuelve un conjunto de todas las teclas del mapa
o values() - devuelve un conjunto de todos los valores del mapa
Usando get () y getOrDefault ()
• get()- Devuelve el valor asociado con la clave especificada. Devuelve nullsi no se
encuentra la clave.
• getOrDefault()- Devuelve el valor asociado con la clave especificada. Devuelve el
valor predeterminado especificado si no se encuentra la clave.
Eliminar elementos WeakHashMap
• remove(key) - devuelve y elimina la entrada asociada con la clave especificada
del mapa
• remove(key, value) - elimina la entrada del mapa solo si la clave especificada se
asigna al valor especificado y devuelve un valor booleano.