Foros del Web » Programación para mayores de 30 ;) » Java »

Imposibilidad de llenar o reutilizar el vector en un vector de vectores

Estas en el tema de Imposibilidad de llenar o reutilizar el vector en un vector de vectores en el foro de Java en Foros del Web. Bueno, lo pregunté antes; pero no debí hacerlo bien o algo similar. Por lo tanto aíslo el problema a su mínima expresión: Trato de crear ...
  #1 (permalink)  
Antiguo 28/12/2010, 02:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 2 meses
Puntos: 1
Imposibilidad de llenar o reutilizar el vector en un vector de vectores

Bueno, lo pregunté antes; pero no debí hacerlo bien o algo similar. Por lo tanto aíslo el problema a su mínima expresión:

Trato de crear una tabla con todas sus filas metidas en el vector "filas", como su propio nombre indica. Este vector de vectores lo voy llenando con el vector "apuntes" en un bucle que algún día dará tantas vueltas como meses del año.


Código Java:
Ver original
  1. Vector filas = new Vector();
  2. Vector apunte = new Vector();
  3. for(int i = 0; i < 12; i++){
  4.             apunte.add ((String) meses[i]);
  5.             apunte.add ((double) 0);
  6.             apunte.add ((double) 0);
  7.             apunte.add ((double) 0);
  8.             apunte.add ((double) 0);
  9.             apunte.add ((double) 0);
  10.             apunte.add ((double) 0);
  11.             apunte.add ((double) 0);
  12.             apunte.add ((double) 0);
  13.             filas.add(apunte);
  14.             System.out.println(apunte);
  15.             //apunte.clear();
  16. }

¿Cual es el problema?
El reutilizar el vector apunte

Si lo dejo tal cual está cada vez se hace más grande, pero en la tabla siempre aparecerán los nueve primeros cuando yo quiero los nueve segundos en la segunda fila, los nueve terceros en la tercera y así.
Si quito el comentario a apunte.clear() todos los resultados me salen vacíos, es decir, filas se vacía y no conserva el último valor añadido.

¿No se puede reutilizar vectores? en ese caso ¿qué puedo utilizar para no tenerme que crear tantos vectores como meses del año?
Quizá sí es necesario un vector por cada fila, en ese caso ¿se pueden crear vectores dinámicamente?

Muchas gracias.

Última edición por septiniosevero; 28/12/2010 a las 03:36 Razón: aclaració
  #2 (permalink)  
Antiguo 28/12/2010, 09:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 76
Antigüedad: 19 años, 2 meses
Puntos: 1
Respuesta: Imposibilidad de llenar o reutilizar el vector en un vector de vectores

Venga, me respondo a mí mismo.

Con vectores no se puede hacer, los vectores están sincronizados, por lo que si cambias algo al final se cambia todo el vector de vectores. Callejón sin salida por ahí.

Sin embargo, mirando montones de tutoriales que utilizan "Object[][]apunte" en todos definen los elementos previamente. Osea así:

Object[][] apunte = {meses[0], 0, 0, 0, 0, 0, 0, 0, 0 };

Pero Object[][]apunte ¿se puede incrementar según los datos se que vayan extrayendo de algún sitio? es decir, si el sitio que sea tiene once filas se crean once filas en [][]apunte, si tiene doce se crean doce, etc

Muchas gracias.
  #3 (permalink)  
Antiguo 29/12/2010, 12:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Imposibilidad de llenar o reutilizar el vector en un vector de vectores

No tiene que ver con que sean sincronizados. Lo que pasa es que tienes que crear un apunte por fila y para eso la linea 2 debería estar dentro del for.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.

Etiquetas: llenar, vectores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.