Problema con HashMap y listas enlazadas
Buen dia amigos...
Queria pedirles ayuda, lo que pasa es que en la escuela me dejaron un trabajo, el cual consiste en crear un diccionario de sinonimos utilizando HashMap y listas enlazadas en un Jframe con Netbeans,lo he estado intentando de diferentes formas y no logro encontrar la solucion lo que hemos estado trabajando es algo como esto:
public static void main(String[] args) {
Map<Integer, List>mapa3=new HashMap();
List <String> nombre=new LinkedList();
nombre.add("Juan");
nombre.add("Pedro");
nombre.add("Joyce");
mapa3.put(1, nombre);
List <String> nombre2=new LinkedList();
nombre2.add("Luis");
nombre2.add("Jorge");
nombre2.add("Joaquin");
mapa3.put(2, nombre2);
for (Integer z = 1; z !=mapa3.size(); z++) {
for (Integer x = 1; x !=nombre.size(); x++) {
System.out.println(mapa3.get(x));
}
}
}
}
Y lo que debo lograr es algo como esto:
Si pudieran ayudarme se los agradecería mucho!
Gracias
Adjunto | Tamaño |
---|---|
img.jpg | 31.54 KB |
- Inicie sesión o regístrese para enviar comentarios
Simple
Necesitas tener un mapa donde las llaves son palabras (strings) y los valores son Lists o Sets con los sinónimos. Para construirlo, lo mejor sería que tuvieras un conjunto de sinónimos y que los metas todos en un Set o List, y luego lo recorres, metiendo al mapa cada palabra como llave y todos apuntan a la misma colección como valor. Así con cada conjunto de sinónimos. De esa manera para encontrar sinónimos buscas la palabra en el mapa y obtienes todos los sinónimos.
De la forma en la que lo
De la forma en la que lo tienes, la llave es un número, lo cual no es muy útil parta conocer los sinónimos. Lo que debes de hacer es usar como llave la palabra y almacenar en la lista... pues sus sinónimos
Map<Sring,List<String>> sinonimos = new HashMap<String,List<String>>();
sinonimos.put( "rapido", Arrays.asList("pronto", "veloz", "agil" );
....
for( String palabra : sinonimos.keySet() ) {
System.out.println( parabra + " sinonimos: " + sinonimos( palabra ))
}
entrySet
Oscar, es mejor usar entrySet y además se te fue algo...
sinonimos(palabra)
no es válido en Java, se te fue elget()
.jajajaj ,, tienes razón,
jajajaj ,, tienes razón, creo que es malo escribir con 38 de temperatura ... entonces:
out.println( es.getKey() + " sinonimos " + es.getValue() ) {
}
Gracias!
Buenas noches compañeros, primero que nada quisiera agradecerles porque me han ayudado muchisimo, aún sigo trabajando con esto, pero en verdad Ezamudio y Oscar me han ayudado a comprender mejor el problema; Gracias.
Si tuviese algun problema lo comentare, y de nuevo Gracias!
También puedes comentar
También puedes comentar aunque ya no tengas problemas. Puedes escribir como quedo tu código al final para que la siguiente persona que tenga el mismo problema lo pueda usar de guía ( de la misma manera que a tí te hubiera gustado encontrarlo )