Java - Lista de vectores

 
Vista:

Lista de vectores

Publicado por Ana (6 intervenciones) el 06/07/2007 08:54:55
Hola, intento crear una lista de vectores.

String[]datos=new String [100];
List <String []> L =new ArrayList <String []>();
while(....){

datos[c]=linea.substring(pos,pos+7).trim();
pos=pos+10;
}

}
if (i>=34){
//L1.add(i-34,i-34);
L.add(i-34,datos);
}
i=i+1;

}
//System.out.println(L1.get(0));
String [] v=(String[]) L.get(0);
System.out.println(v[2]);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Y el problema es...?

Publicado por Gonzalo (180 intervenciones) el 06/07/2007 12:01:51
Hola

No pones más que unos trozos de código sueltos sin ninguna explicación y sin ninguna pregunta. Lo que tienes que hacer es preguntar algo, explicar tu problema y si pones algún trozo de código ponerlo de forma que se pueda entender algo de lo que hace y de lo que pretende hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lista de vectores

Publicado por Ana (6 intervenciones) el 06/07/2007 13:56:46
Crei que no lo había mandado.... Mi problema, ahora si, es:

Necesito crear en Java una Lista de vectores. Lo he intentado y creo que voy a dar en loca.
Tengo el siguiente código:

package Ana;

import java.util.*;

public class Clase {

public static void main(String[] args) {

HashMap<Integer, Vector> hm = new HashMap<Integer, Vector>();
Vector <Integer> datos=new java.util.Vector <Integer>();

for(int i=0;i<2;i++){

for(int j=0;j<4;j++){
datos.add(j,j+i);
}
hm.put(i+1, datos);


}

Vector v1 = hm.get(1);
Vector v2 = hm.get(2);
System.out.println(v1.equals(v2)); 'Me dice que si!!!
}
}

Resulta que cuando intento acceder a los dos vectores almacenados me dice que son iguales como puede ser?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lista de vectores

Publicado por angel (537 intervenciones) el 09/07/2007 08:08:46
Son iguales porque estas trabajando todo el tiempo con la misma direccion d memoria...
Al final los 2 vectores que tienes se quedan con los ultimos valores que estas introduciendo en la segunda iteración del ciclo..
Para evitar eso,,pon un:
datos=new java.util.Vector <Integer>();
tras el bucl mas interno, para crear otro vector en otra direccion d memoria y dejar d alterar l contenido el vector que ya tienes almacenado en l hashmap


for(int i=0;i<2;i++){

for(int j=0;j<4;j++){
datos.add(j,j+i);
}
hm.put(i+1, datos);
datos=new java.util.Vector <Integer>();

}

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar