Java Collections: Modificacoes feitas a uma Sub-Lista sao replicadas a Lista Original

Modificacoes feitas a uma Sub-Lista sao replicadas a Lista Original

Tendo como base as seguintes listas, observe:

Based on the following lists note:


.java

[cc lang=”java”]
List fruits = new ArrayList(Arrays.asList(
“Pineapple”,
“Tangerine”,
“Orange”,
“Apple”,
“Banana”,
“Peach”));
List iLike = list.subList(0, 4);

System.out.println(list);
System.out.println(iLike);
[/cc]
run:
[Pineapple, Tangerine, Orange, Apple, Banana, Peach]
[Pineapple, Tangerine, Orange, Apple]


Mas se eu remover algo de iLike?

But if I remove something from iLike?

[cc lang=”java”]
iLike.remove(3);
System.out.println(fruits);
System.out.println(iLike);
[/cc]
[Pineapple, Tangerine, Orange, Banana, Peach]
[Pineapple, Tangerine, Orange]


E se eu adicionar?

And if I add something?

[cc lang=”java”]
iLike.add(“Kiwi”);
System.out.println(fruits);
System.out.println(iLike);
[/cc]



[Pineapple, Tangerine, Orange, Kiwi, Banana, Peach]
[Pineapple, Tangerine, Orange, Kiwi]


Todas ação que exerço sobre a sub-lista afetam a lista origem. Faz sentido, para estar na sub-lista tem que primeiro existir na lista, ok?

All action that I make to a sub-list affect the underlying list. It makes sense, to be on a sub-list an item have first to be on the list, right?


Até mais, sucesso

See you, sucess