Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Copiare ArrayList in un'altro

584 views
Skip to first unread message

Alessandro

unread,
Sep 23, 2009, 6:59:41 AM9/23/09
to
Ciao,

devo copiare il contenuto di un ArrayList in un altro, ma senza vi
siano riferimenti incrociati tra di essi, vorrei che poi rimangano
indipendenti. Ovviamente posso fare un ciclo for che percorre il primo
e copia ogni oggetto nel secondo, ma credo me lo possa risparmiare.

Gli ArrayList in questione sono di tipo <String> entrambi, quello da
copiare è popolato da precedenti elaborazioni.


//INIZIO

ArrayList<String> dest =new ArrayList<String>();
dest.ensureCapacity(src.size());
Collections.copy(dest,src);

//FINE

Così non funziona, dà Error: Source does not fit in dest.

Escludo a propri effettuare "dest = src" visto che poi svuotando src
mi si svuota anche dest.

Altre idee ??

grazie,
Ale

sv

unread,
Sep 23, 2009, 8:16:34 AM9/23/09
to
Alessandro wrote:
> //INIZIO
>
> ArrayList<String> dest =new ArrayList<String>();
> dest.ensureCapacity(src.size());
> Collections.copy(dest,src);
>
> //FINE
>
> Cos� non funziona, d� Error: Source does not fit in dest.

� spiegato qui:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6350752

spero possa aiutare.

--
sv

Marco

unread,
Sep 23, 2009, 8:23:46 AM9/23/09
to

> devo copiare il contenuto di un ArrayList in un altro, ma senza vi
> siano riferimenti incrociati tra di essi

ArrayList<String>primo;

//.......

ArrayList<String>secondo=new ArrayList<Sting>(primo.size());
secondo.addAll(primo);

cicap

unread,
Sep 23, 2009, 2:07:53 PM9/23/09
to
Il Wed, 23 Sep 2009 03:59:41 -0700, Alessandro ha scritto:

> devo copiare il contenuto di un ArrayList in un altro

La piu' corta è

List<String> copy = new ArrayList<String>(originalArrayList);

0 new messages