Extraer Array de un Mapa con Java

23/Oct/2015 Java , , , Deja un comentario

En este ejemplo vamos a ver cómo podemos extraer array de un mapa con Java. Este caso suele suceder cuando estamos manipulando Mapas para realizar cuentas de valores mediante su control de clave/valor y luego queremos manipular los datos para ordenados o mostrarlos de una forma más sencilla a un array.

Lo primero será crear un mapa, en concreto vamos a utilizar un HashMap.

  1. Map<Integer,String> mapa = new HashMap<Integer,String>();

Y a este mapa le vamos a rellenar de datos mediante el método put(), el cual recibe como primer valor la clave y como segundo atributo el valor.

  1. mapa.put(1, "Victor");
  2. mapa.put(2, "Nacho");
  3. mapa.put(3, "Julio");
  4. mapa.put(4, "David");
  5. mapa.put(1, "Pepe");

Si miramos el código vemos que en el mapa no podemos tener dos elementos con la misma clave. Es por ello que con la clave "1" solamente tendremos el último valor insertado.

Ahora que tenemos nuestro Mapa vamos a proceder a extraer array de un mapa con Java. En primer lugar vamos a extraer los valores. La colección de valores la obtenemos mediante el método .values(). Así que al tener una colección ya solo tendremos que utilizar el método .toArray() para obtener el array.

  1. String[] nombres = mapa.values().toArray(new String[0]);

Es importante hacer notar que el método .toArray() recibe el array en el cual se almacenarán los objetos de la colección.

  1. ew String[0]

Ya solo nos quedará recorrer el array mediante un bucle for-each para volcar su contenido.

  1. for (String nombre: nombres)
  2. System.out.println(nombre);

En el caso de queramos hacer lo mismo pero para las claves utilizaremos el método .keySet(). El resto del código será igual:

  1. Integer[] claves = mapa.keySet().toArray(new Integer[0]);
  2.  
  3. for (Integer clave: claves)
  4. System.out.println(clave);

Ya habremos conseguido extraer Array de un Mapa con Java, ya sea para los valores o para las claves.

Vídeos sobre Java


¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*