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 class lista_map {
  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

AdjuntoTamaño
img.jpg31.54 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

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 ))
}
Imagen de ezamudio

entrySet

Oscar, es mejor usar entrySet y además se te fue algo... sinonimos(palabra) no es válido en Java, se te fue el get().

jajajaj ,, tienes razón,

jajajaj ,, tienes razón, creo que es malo escribir con 38 de temperatura ... entonces:

for( Set<Map.Entry<String,List<String>> es = sinonimos.entrySet() ) {
    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 )