Memoria dinamica "Copiar objectos"
Publicado por jomismo (28 intervenciones) el 18/02/2005 10:54:46
public class Coleccio {
int contador;
Contenedor primer;
Contenedor ultim;
public Coleccio(){primer=null;ultim=null;contador=0;}
private class Contenedor{
Object o;
Contenedor n;
Contenedor p;
private Contenedor(){o=null;n=null;p=null;}
private Contenedor(Object o,Contenedor n,Contenedor p){this.o=o;this.n=n;this.p=p;}
}
public boolean esbuida(){
return ultim==null;
}/
public void add(Object o){
Contenedor temp = new Contenedor();
temp.o=o;
if(!esbuida()){
ultim.n=temp;
temp.p=ultim;
ultim=temp;
}
else ultim=primer=temp;
contador = contador++;
}
Bueno os paso la clase coleccio para ke entendais lo ke kiero
Una coleccion es como una caja grande que contienes dentro cajas pequeñas llamadas contendores
En la coleccion (caja grande) tenemos la direcion del primer y del ultimo elemento asi como un contador para conocer cuantos elementos tenemos.
Los contenedores "cajas pequeñas dentro la grande " contienen una referencia al contenedor siguiente y al anterior , asi como contiene un objeto
una persona , mueble,vehiculo....
Bien debo crear la classe para copiar una coleccion (c1),asi llamada,
pero no se que funcion utilizar
osea debo crear una nueva coleccion "(c2)" , ycopiar lo de la c1 aqui todos
los containers
no me sirve el hacer
c2 .primer=c1.primer
pejemplo
pq esto lo que hace es asignarle la direccion de memoria no lo copia pq en teoria cuando borre el primer elemento de c1
tyambien se borrara el c2 y eso no kiero ke pase
total solo kiero conocer la funcion para copiar
int contador;
Contenedor primer;
Contenedor ultim;
public Coleccio(){primer=null;ultim=null;contador=0;}
private class Contenedor{
Object o;
Contenedor n;
Contenedor p;
private Contenedor(){o=null;n=null;p=null;}
private Contenedor(Object o,Contenedor n,Contenedor p){this.o=o;this.n=n;this.p=p;}
}
public boolean esbuida(){
return ultim==null;
}/
public void add(Object o){
Contenedor temp = new Contenedor();
temp.o=o;
if(!esbuida()){
ultim.n=temp;
temp.p=ultim;
ultim=temp;
}
else ultim=primer=temp;
contador = contador++;
}
Bueno os paso la clase coleccio para ke entendais lo ke kiero
Una coleccion es como una caja grande que contienes dentro cajas pequeñas llamadas contendores
En la coleccion (caja grande) tenemos la direcion del primer y del ultimo elemento asi como un contador para conocer cuantos elementos tenemos.
Los contenedores "cajas pequeñas dentro la grande " contienen una referencia al contenedor siguiente y al anterior , asi como contiene un objeto
una persona , mueble,vehiculo....
Bien debo crear la classe para copiar una coleccion (c1),asi llamada,
pero no se que funcion utilizar
osea debo crear una nueva coleccion "(c2)" , ycopiar lo de la c1 aqui todos
los containers
no me sirve el hacer
c2 .primer=c1.primer
pejemplo
pq esto lo que hace es asignarle la direccion de memoria no lo copia pq en teoria cuando borre el primer elemento de c1
tyambien se borrara el c2 y eso no kiero ke pase
total solo kiero conocer la funcion para copiar
Valora esta pregunta


0