Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2010, 10:43
porito
 
Fecha de Ingreso: junio-2010
Mensajes: 44
Antigüedad: 13 años, 10 meses
Puntos: 0
problema al tener dos arrays iguales

Hola,

tengo un sencillo problema que no se porque me pasa y me gustaria que me dijerais porque.

En una clase, en mi constructor recibo un array.
Previamente me creo 2 arrays, uno ORIGINAL y otro COPIA.
Esto lo hago porque quiero hacer modificaciones en la COPIA y que el otro no se me modifique.

os pongo el codigo:

Código:
 
ArrayList<personas> original = new ArrayList<personas>();
ArrayList<personas> copia = new ArrayList<personas>();

public Liga3(java.awt.Frame parent, boolean modal, ArrayList<personas> recibe, int opcion_elegida) {
        super(parent, modal);
        initComponents();
        this.getContentPane().setBackground(new Color(91,151,242));
        this.original = recibe;
        this.copia = recibe;
        this.opcion_elegida = opcion_elegida;
        cargar();
}
A continuacion, en otro metodo, hago una seria de cosas, y luego borro un elemento del array COPIA, pero se me borra tambien del array ORIGINAL!!
Es mas, el array que recibo de la clase padre, el que recibe "recibe", tambien se me borran de ahi los elementos! Porque me pasa eso? que hago mal?
Código:
public void cargar(){
        Random rand = new Random();

        int x = rand.nextInt(copia.size());
        String uno_Nombre = copia.get(x).getNombre();
        String uno_Ape1 = copia.get(x).getApellido1();
        copia.remove(x);
}
Pues eso, al hacer el remove en copia, si pongo un System.out.println para copia y para original, pues elimina el elemento de los 2 arraylist.

Alguna solucion? Porque me pasa eso?

gracias