Diferença entre Arrays.asList (array) e novo ArrayList <Integer> (Arrays.asList (array))
Qual é a diferença entre
1.List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia)); //copy
2.List<Integer> list2 = Arrays.asList(ia);
Ondeia
é matriz de inteiros.
Eu vim a saber que algumas operações não são permitidas emlist2
. por que é tão? como é armazenado na memória (referências / cópia)?
Quando eu embaralho as listas,list1
não afeta a matriz original, maslist2
faz. Mas aindalist2
é um pouco confuso.
ComoArrayList
sendo upcasted para listar difere da criação de novosArrayList
list1 differs from (1)
ArrayList<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));