Atribuir ArrayLists

è possível fazer isto?

[code]List arList1 = new ArrayList();
List arList2 = new ArrayList();

arList1.add(“blabla”);
arList1.add(“blabla”);
arList1.add(“blabla”);

arList2 = arList1; // << Isso é possível?[/code]

E se o arList2 tiver conteúdo e eu atribuir o conteudo de arList1, ele vai adicionar o conteudo ou vai ser igual ao arList1???

ai arlist1 está recebendo arlist2… então vc perderá o conteúdo de arlist1…

se vocÊ quiser somar o conteúdo dos dois, ou seja, vc qur q arlist1 contenha seus próprios dados somados com o conteudo do arlist2, vc poderá usar o método addAll()

assim

arlist1.addAll(arlist2);

Abraços!

Valeu cara,

eu sei q obviamente se for atribuir uma variável a outra ela passará a ter o conteúdo da outra,

mas no programa q estou usando está dando um pau, vou analizar melhor, valeu novamente.

[quote=Thiago Senna]ai arlist1 está recebendo arlist2… então vc perderá o conteúdo de arlist1…

se vocÊ quiser somar o conteúdo dos dois, ou seja, vc qur q arlist1 contenha seus próprios dados somados com o conteudo do arlist2, vc poderá usar o método addAll()

assim

arlist1.addAll(arlist2);

Abraços![/quote]
Não é o contrário?
arlist2 está perdendo o conteúdo e está recebendo o endereço de memória da arlist1?

[quote=kina]
Não é o contrário?
arlist2 está perdendo o conteúdo e está recebendo o endereço de memória da arlist1?[/quote]

Realmente é ao contrário, creio qeu o Thiago cometeu um equívoco :wink:

israelwm, poruqe você quer perder a referencia do objeto? por acaso você não esta querendo por varios list1 dentro de list2? ou seja, coleções dentro de coleções?

Oi Kina!

olha só!

arlist1 = arlist2;

com o código acima, arlist1 recebe o mesmo endereço de memória de arlist2. Com isso o objeto que arlist1 apontava passa a não ter nenhuma referência e fica disponível para ser coletado na próxima passagem do GarbageCollector!

Acho que é isso!
Abraços!

Na verdade houve um mau entendido! Se eu traduzir o que eu escrevi acima daria neste código abaixo!

arlist1 = arlist2

Qualquer coisa, gritem, please!!!

Abraços!

ArrayList a2 = new ArrayList( a1 );

Bom na verdade é um sistema de comparação

Ai eu tenho dois ArrayList, uma para o estado inicial e outro para o estado final…

Ai quando faço a comparação dos dois eu cato as diferenças e atribuo o estado final ao estado inicial (estadoInicial = estadoFinal), para não atualizar o estado inicial tudo denovo…