Ajuda pra consolidar o entedimento sobre o método addAll() da interface List

Ajuda pra consolidar o entedimento sobre o método addAll() da interface List… Estive na documentação:

[quote]
boolean addAll(int index, Collection<? extends E> c)
Inserts all of the elements in the specified collection into this list at the specified position (optional operation).[/quote]

Mas não ficou claro pra mim ainda… Gostaria muito de um exemplinho se possível… Entendí tipo junta duas listas, mas como assim?

abraço,
André AS :wink: :lol:

[quote=andredecotia]Ajuda pra consolidar o entedimento sobre o método addAll() da interface List… Estive na documentação:

[code]
import java.util.ArrayList;
import java.util.List;

public class Main {
public static void main(String args[]) throws Exception {

List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
List<String> list2 = new ArrayList<String>();
list2.add("X");
list2.add("Y");
list2.add("Z");
list.addAll(list2);
list.addAll(1, list2);

System.out.println(list);

}
}[/code]

Bom dia André,

o addAll em um List permite que você adicione a outra Collection (List, ArrayList, Set, Tree…)
ao List.
O ‘int index’ permite que você defina em que posição do List a Collection a ser adiconada seja
armazenada.
O exemplo do post acima é bem legal. Sua saída deve ser [A, X, Y, Z, B, C, X, Y, Z].

abs

O addAll adiciona qualquer coleção filha de collection à lista:

[code]Set nomes = new TreeSet();
nomes.add(“Vinicius”);
nomes.add(“Andre”);
nomes.add(“Pedro”);

List nomes2 = new List();
nomes2.add(“Marcelo”);
nomes2.addAll(nomes);
nomes2.addAll(“Anime”);

for (String nome : nomes2) {
System.out.println(nome);
}[/code]

Maps não são filhos de Collection, portanto, não podem ser adicionados.