Map

Equipo 2

5º J

Introducción

Map (java.util.Map) en Java, nos permite representar una estructura de datos para almacenar pares “clave/valor”; de tal manera que para una clave solamente tenemos un valor. Esta estructura de datos también es conocida en otros lenguajes de programación como “Diccionarios”, aunque en cada lenguajes esta estructura de datos tiene sus matices.

Desarrollo

Los Maps en java tienen implimentada por debajo toda la teoría de las estructuras de datos de los Arboles (AVL, B, B+, B*) por tanto permiten añadir, eliminar y modificar elementos de forma trasparente para el programador.

Otro elemento importante a la hora de trabajar con los Maps (aunque no lo es tanto como a la hora de trabajar con los ArrayList) son los “Iteradores” (Iterator). Los Iteradores sirven para recorrer los Map y poder trabajar con ellos. Los Iteradores solo tienen tres métodos que son el “hasNext()” para comprobar que siguen quedando elementos en el iterador, el“next()”  para que nos de el siguiente elemento del iterador; y el “remove()” que sirve para eliminar el elemento del Iterador. 

Implementacion

Map<Integer, String> nombreMap = new HashMap<Integer, String>();
nombreMap.size(); // Devuelve el numero de elementos del Map
nombreMap.isEmpty(); // Devuelve true si no hay elementos en el Map y false si si los hay
nombreMap.put(K clave, V valor); // Añade un elemento al Map
nombreMap.get(K clave); // Devuelve el valor de la clave que se le pasa como parámetro o 'null' si la clave no existe
nombreMap.clear(); // Borra todos los componentes del Map
nombreMap.remove(K clave); // Borra el par clave/valor de la clave que se le pasa como parámetro
nombreMap.containsKey(K clave); // Devuelve true si en el map hay una clave que coincide con K
nombreMap.containsValue(V valor); // Devuelve true si en el map hay un Valor que coincide con V
nombreMap.values(); // Devuelve una "Collection" con los valores del Map

Tipos de map's

  • HashMap: Los elementos que inserta en el map no tendrán un orden específico. No aceptan claves duplicadas ni valores nulos.
  • TreeMap: El Mapa lo ordena de forma “natural”. Por ejemplo, si la clave son valores enteros (como luego veremos), los ordena de menor a mayor.
  • LinkedHashMap: Inserta en el Map los elementos en el orden en el que se van insertando; es decir, que no tiene una ordenación de los elementos como tal, por lo que esta clase realiza las búsquedas de los elementos de forma más lenta que las demás clases.

Json & Map

Conclusiòn

Son un conjunto de interfaces que nos van a permitir hacer programas algo más avanzados, ya que nos facilitan por ejemplo el tener un conjunto de elementos ordenados, una lista de usuarios donde podemos consultar sus nombres por ejemplo, o un mapa donde a cada usuario lo podemos localizar por una clave de identificación.

Los map's es recomendable utilizarlo para cuando tenemos estructuras fijas de datos y deseamos leerlas o escribirlas.

Ademas de ello son útiles para extraer datos y poder modificarlos, guardarlos y ordenarlos.

Referencias

http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

Made with Slides.com