将ArrayList <int []>转换为int [] []

pqn*_*pqn 1 java arrays arraylist

我有一个非常简单的问题,但我只想知道正确的做法是什么.

你怎样类型的变量转换ArrayList<int[]>int[][]

Bal*_*usC 10

用于List#toArray(T[])传递数组类型的用途.

int[][] intMatrix = listOfIntArrays.toArray(new int[0][]);
Run Code Online (Sandbox Code Playgroud)

演示:

List<int[]> listOfIntArrays = new ArrayList<int[]>();
listOfIntArrays.add(new int[] { 10, 20, 30 });
listOfIntArrays.add(new int[] { 11, 21, 31 });
listOfIntArrays.add(new int[] { 12, 22, 32 });

int[][] intMatrix = listOfIntArrays.toArray(new int[0][]);

System.out.println(Arrays.deepToString(intMatrix));
Run Code Online (Sandbox Code Playgroud)

结果:

[[10, 20, 30], [11, 21, 31], [12, 22, 32]]

  • 是否真的需要将List的大小传递给`int [] []`数组构造函数?不是`toArray(new int [0] []);`够了吗? (3认同)