Обратите внимание: при работе над преобразованием массивов в виде списка существует разница между примитивным массивом и массивом объектов. i.e) int [] и Integer []
, например)
int [][] twoDArray = { {1, 2, 3, 4, 40}, {5, 6, 7, 8, 50}, {9, 10, 11, 12, 60}, {13, 14, 15, 16, 70}, {17, 18, 19, 20, 80}, {21, 22, 23, 24, 90}, {25, 26, 27, 28, 100}, {29, 30, 31, 32, 110}, {33, 34, 35, 36, 120}}; List list = new ArrayList(); for (int[] array : twoDArray) { //This will add int[] object into the list, and not the int values. list.add(Arrays.asList(array)); }
и
Integer[][] twoDArray = { {1, 2, 3, 4, 40}, {5, 6, 7, 8, 50}, {9, 10, 11, 12, 60}, {13, 14, 15, 16, 70}, {17, 18, 19, 20, 80}, {21, 22, 23, 24, 90}, {25, 26, 27, 28, 100}, {29, 30, 31, 32, 110}, {33, 34, 35, 36, 120}}; List list = new ArrayList(); for (Integer[] array : twoDArray) { //This will add int values into the new list // and that list will added to the main list list.add(Arrays.asList(array)); }
Чтобы работать с ответом Keppil; вам нужно преобразовать свой примитивный массив в массив объектов с помощью . Как преобразовать int [] в Integer [] в Java?
Else добавить значения int один за другим в нормальном для loop.
int iLength = twoDArray.length; List
> listOfLists = new ArrayList<>(iLength); for (int i = 0; i < iLength; ++i) { int jLength = twoDArray[0].length; listOfLists.add(new ArrayList(jLength)); for (int j = 0; j < jLength; ++j) { listOfLists.get(i).add(twoDArray[i][j]); } }
Также обратите внимание, что массив Arrays.asList (массив) даст список фиксированного размера; поэтому размер не может быть изменен .