• Jueves 14 de Noviembre de 2024, 08:18

Autor Tema:  Guardar Linkedlist En Vector  (Leído 1113 veces)

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Guardar Linkedlist En Vector
« en: Lunes 1 de Mayo de 2006, 10:40 »
0
Saludos compañeros, quiero guardar el contenido de una matriz LinkedList en un vector, y lo hago de la siguiente manera:

static void obtener_caracteres_fila (Vector vec, LinkedList[][] m, int fil)
   {
     LinkedList a;
     a=new LinkedList();

     for (int j=0; j<m.length; j++)
        {
          a=m[fil][j];
          if (a!=null)
              {
                System.out.println(a.size());
                for (int k=0; k<a.size(); k++)
                    {
                      System.out.print(m[fil][j].get(k));
                      vector_cadenas.add(new String ( m[fil][j].get(k).toString() ) );
                    }
              }
        }
     vector_cadenas.add(null);
   }

pero me da un NullPointer Exception, y si  hago un casting a la clase String o Character (con vector_cadenas.add(new Character ( (Character) m[fil][j].get(k) ) ); ) me da un ClassCastException . Me podriais ayudar por favor, es un poco urgente. Gracias

antony_soluciones

  • Miembro MUY activo
  • ***
  • Mensajes: 222
    • Ver Perfil
Re: Guardar Linkedlist En Vector
« Respuesta #1 en: Martes 2 de Mayo de 2006, 02:41 »
0
hola...

Prueba con las siguientes correcciones y lee bien la recomendaciones que te hago:

Recomendaciones:

1) Verifica que el Vector vec halla sido instanciado previamente(justo antes de enviarlo al método.

2) Verifica lo mismo con LinkedList[][] m....  

3) Por favor; debes ser mas ordenado con el código que escribes si quieres que alguien te ayude, sigue el estandar de la sun.
Código: Text
  1.  
  2. Vector&#60;String&#62; vecContenedor = new Vector&#60;String&#62;()
  3. LinkedList[][] loQueEnvio = new LinkedList[10][15];
  4. loQueEnvio&#60;String&#62;[0][0] =  new LinkedList&#60;String&#62;();
  5.  
  6. //introduces los datos en la nueva lista
  7.  
  8. loQueEnvio[0][0].add(&#34;Hola Mundo 1&#34;);
  9. loQueEnvio[0][0].add(&#34;Hola Mundo 2&#34;);
  10. loQueEnvio[0][0].add(&#34;Hola Mundo 3&#34;);
  11. loQueEnvio[0][0].add(&#34;Hola Mundo N&#34;);
  12.  
  13. //lo haces otra vez pero en otra posición
  14.  
  15. LinkedList&#60;String&#62;[][] loQueEnvio = new LinkedList&#60;String&#62;[10][15];
  16. loQueEnvio&#60;String&#62;[0][1] =  new LinkedList&#60;String&#62;();
  17.  
  18. //introduces los datos
  19.  
  20. loQueEnvio[0][1].add(&#34;No le quites años a tu cuerpo, ponle años a tu vida 1&#34;);
  21. loQueEnvio[0][1].add(&#34;No le quites años a tu cuerpo, ponle años a tu vida 2&#34;);
  22. loQueEnvio[0][1].add(&#34;No le quites años a tu cuerpo, ponle años a tu vida 3&#34;);
  23. loQueEnvio[0][1].add(&#34;No le quites años a tu cuerpo, ponle años a tu vida 4&#34;);
  24.  
  25. //y sigues haciendo lo que tengas que hacer para llenar cada posición
  26.  
  27. ...
  28. ...
  29. ...
  30. ...
  31. ...
  32. ...
  33. obtenerCaracteresFila(vecContenedor, loQueEnvío, 15);
  34.  
  35. // Recuerda que esto es un ejemplo de lo que debes verificar.
  36.  
  37.  
  38.  

Ahora si las correcciones

Código: Text
  1.  
  2. static void obtenerCaracteresFila (Vector vec, LinkedList[][] m, int fil) {
  3.     LinkedList a;
  4.     a = new LinkedList();
  5.     for (int j=0;  j&#60;m.length; j++) {
  6.         a=m[fil][j];
  7.         if (a!=null) {// esta pregunta sobra
  8.             System.out.println(a.size());
  9.             for (int k=0; k&#60;a.size(); k++) {
  10.                 System.out.print(m[fil][j].get(k));
  11.                 vector_cadenas.add(new String ( m[fil][j].get(k).toString() ) );
  12.             }
  13.         }
  14.     }
  15.     vector_cadenas.add(null);//verifica que este vector halla sido instanciado
  16.     return;
  17. }
  18.  
  19.  

bien espero te sirva... yo no lo le hize pruebas porque en la máquina que estoy ahora, no tiene instalado java, pero si creo que el error que tienes es en el vector_cadenas, reviza bien su instancia o que no se esté haciendo null en alguna parte de tu código....

Cordialmente,

Antony Hernan Delgado Solano
[size=109]Antony Hernan Delgado Solano. @antonyDelSol en twitter[/size]