Como o metodo subList (<List>) consegue remover todos os elementos (clear()) da lista principal

veja o codigo:

[code] List list = new ArrayList();
list.add(“um”);
list.add(“dois”);
list.add(“tres”);
list.add(“quatro”);
list.add(“cinco”);

	List<String> lista = list.subList(2,3);
	lista.clear();[/code]

as referencias de list pra lista são diferentes… como a alteração de uma lista afetou a outra? :shock:

Na verdade, não são referencias diferentes.

Veja o que diz a doc.

The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa.

Da mesma forma ocorre com subMap e subSet.

Qualquer coisa, dá uma olhada no livro de Certificação da Kathy, nas páginas 330 e 331 (versão em português).

Abraços