elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda con arrayList y HashMap
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con arrayList y HashMap  (Leído 6,841 veces)
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Duda con arrayList y HashMap
« en: 22 Noviembre 2011, 14:40 pm »

Hola os comento:

Tengo un hashMap cuya clave es un String y cuyo valor es un ArrayList<String> que contiene diversas palabras

Osea:
Código
  1. Map<String, List<String>> multiMapa = new HashMap<String, List<String>>();

Ahora lo que hago es que si encuentro una clave en el hashMap (usando containsKey()) quiero obtener los elementos del arrayList de esa clave y meterlos en otro ArrayList distinto.

Como puedo hacerlo?

valdría?:

Código
  1. if(multiMapa.containsKey(anagrama)) {
  2.            List<String> lista = new ArrayList<String>();
  3.            lista = multiMapa.get(anagrama);
  4. }


Obtengo así el arrayList (el Value del hashMap) y puedo igualarlo directamente al nuevo arrayList llamado lista???


gracias de antemano.


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Duda con arrayList y HashMap
« Respuesta #1 en: 22 Noviembre 2011, 15:37 pm »

Código:
Map<String, List<String>> multiMapa = new HashMap<String, List<String>>();
List<String> listaEncontrada = new ArrayList<String>();
for(String clave : multiMapa.keySet()) {
  if(clave.equals("CRITERIO_BUSQUEDA")) {
    listaEncontrada = (List<String>)multiMapa.get(clave);
    break;
  }
}

if(listaEncontrada != null && !listaEncontrada.isEmpty()) {
 for(String valor : listaEncontrada) {
    System.out.println("Valor: "+valor);
 }
}


En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Duda con arrayList y HashMap
« Respuesta #2 en: 23 Noviembre 2011, 01:40 am »

Vale muchas gracias, al final lo que hice fue esto:

Código
  1. ...
  2. Map<String, List<String>> multiMapa = new HashMap<String, List<String>>();
  3. ...
  4. public void buscar_Anagramas(String anagrama) {
  5.        //Comprobamos si nuestro anagrama está en el hashmap
  6.        List<String> lista = new ArrayList<String>();
  7.        if(multiMapa.containsKey(anagrama)) {
  8.            lista = (List<String>)(multiMapa.get(anagrama));
  9.  
  10.        }
  11.        else
  12.            System.out.println("\n No existe ninguna coincidencia\n\n");
  13.  
  14.  
  15.        imprimir_Coincidencias(lista);
  16.  
  17.  
  18.    }

Parece que me funciona, así que bien. xD

saludos y gracias de nuevo.
En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Duda con arrayList y HashMap
« Respuesta #3 en: 23 Noviembre 2011, 01:48 am »

De hecho, es mejor lo que has hecho, manualmente recorría el ciclo y posteriormente comparaba, el método "containsKey" hace lo mismo, pero en teoría es más eficiente...
Así que como lo tienes esta bien.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
arraylist character to arraylist String
Java
mapers 4 5,563 Último mensaje 1 Noviembre 2011, 15:24 pm
por adastra
Duda con ArrayList<>
Java
RADIACTIVO 3 2,854 Último mensaje 10 Diciembre 2012, 21:08 pm
por RADIACTIVO
duda con ArrayList
Java
m@o_614 2 1,923 Último mensaje 22 Noviembre 2014, 15:38 pm
por MNicolas
HashMap
Java
m@o_614 1 2,101 Último mensaje 3 Febrero 2015, 02:22 am
por Usuario Invitado
Duda con arraylist
Java
Baal_30 5 2,679 Último mensaje 9 Abril 2015, 00:06 am
por Usuario Invitado
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines