Convertir una array dinamica a una estatica

jomismo
23 de Febrero del 2005
public void ToArrayFixa(Coleccio c2){

Contenedor temp=new Contenedor();
temp=primer;
int max=0,num=0;

max=contador;
Coleccio[]col;

col=new Coleccio(max);

while(temp.n!=null){
num++;
col[num]=temp.o;
temp=temp.n;
}

}

Bueno como siempre paso la funicon

System.out.println(c1.ToArrayFica());

Asi es como la llamo desde el menu

public void ToArrayFixa(Coleccio c1)

Para empezar esta bien declarado asi me tiene que devolver una coleccion estatica y le paso una coleccion dinamica

public Coleccio ToArrayFixa(Coleccio c1){
es mas correcto esto?supongo ke si?si alguna idea para mejorarlo se agradecera.


este trozo

temp=primer; &lt----Esto hace ke mesitue en la primera poscion de l'array dinamica
int max=0,num=0;


max=contador; &lt--Le decimos a max que valdra lo mismo que el contador del array dinamica , que realmente ahora que lo pienso es una tonteria pq podria utilizar directamente elc ontador

Aqui viene otro problema para crear una array estatica sobre la dinamica se declara asi
De la classe coleccion la variable col

Coleccio[]col;

col=new Coleccio(max);

Luego le digo que esta coleccion sera una nueva con un max que sera el nombre maximo de elemtnos

i por ultimo
para añdir un objeto de un array dinamico a estatico es asi pq me da error

while(temp.n!=null){
num++;
col[num]=temp.o;
temp=temp.n;
}

Gracias esta es la uiltima


eth0
23 de Febrero del 2005
Desde luego... si es que no se puede confiar en los programadores de Sun. A saber qué oscuros y macabros ardides han puesto en las colecciones que implementan este método de la interfaz Collection (que son todas):

Object[] toArray()
Returns an array containing all of the elements in this collection.

Es mucho mejor mandar a tomar por saco todo el framework de colecciones y que cada uno se haga el suyo propio. Dónde va a parar...

nkpevfqy
23 de Febrero del 2005
No entiendo tus apreciaciones. No soy esperto en diseño, pero creo que el Famework Collections, no esta tan mal. el metodo toArray() devuelve un array de Object con una COPIA de los elementos de la Collections. Mirate la implementacion de cada una de las clases del framework y veras.