Programación General > Java
Guardar Linkedlist En Vector
(1/1)
alemag:
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:
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 --- Vector<String> vecContenedor = new Vector<String>()LinkedList[][] loQueEnvio = new LinkedList[10][15];loQueEnvio<String>[0][0] = new LinkedList<String>(); //introduces los datos en la nueva lista loQueEnvio[0][0].add("Hola Mundo 1");loQueEnvio[0][0].add("Hola Mundo 2");loQueEnvio[0][0].add("Hola Mundo 3");loQueEnvio[0][0].add("Hola Mundo N"); //lo haces otra vez pero en otra posición LinkedList<String>[][] loQueEnvio = new LinkedList<String>[10][15];loQueEnvio<String>[0][1] = new LinkedList<String>(); //introduces los datos loQueEnvio[0][1].add("No le quites años a tu cuerpo, ponle años a tu vida 1");loQueEnvio[0][1].add("No le quites años a tu cuerpo, ponle años a tu vida 2");loQueEnvio[0][1].add("No le quites años a tu cuerpo, ponle años a tu vida 3");loQueEnvio[0][1].add("No le quites años a tu cuerpo, ponle años a tu vida 4"); //y sigues haciendo lo que tengas que hacer para llenar cada posición ..................obtenerCaracteresFila(vecContenedor, loQueEnvío, 15); // Recuerda que esto es un ejemplo de lo que debes verificar.
Ahora si las correcciones
--- Código: Text --- static void obtenerCaracteresFila (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) {// esta pregunta sobra 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);//verifica que este vector halla sido instanciado return;}
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
Navegación
Ir a la versión completa