В чем разница между
1.List<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia)); //copy
2.List<Integer> list2 = Arrays.asList(ia);
где ia
это массив целых чисел.
Я узнал, что некоторые операции запрещены в list2
. почему это так? как он хранится в памяти (ссылки/копии)?
Когда я тасую списки, list1
не влияет на исходный массив, но list2
влияет. Но все же list2
несколько сбивает с толку.
Чем ArrayList
преобразуется в список, отличается от создания нового ArrayList
list1 differs from (1)
ArrayList<Integer> list1 = new ArrayList<Integer>(Arrays.asList(ia));