如何在 Java 中将 list.toArray() 方法用于二维数组

Posted

技术标签:

【中文标题】如何在 Java 中将 list.toArray() 方法用于二维数组【英文标题】:How to use the list.toArray() method in Java for a two-dimensional array 【发布时间】:2022-01-22 11:40:50 【问题描述】:

我创建了一个 int 数组列表,我想将它作为二维数组返回。

List<int[]> ans = new ArrayList<>();
int[][] toReturn = new int[ans.size()][];
return ans.toArray(toReturn);

这段代码是如何工作的? list.toArray()list.toArray(T[] a)有什么区别?

【问题讨论】:

你试过docs吗? 顺便说一句,List&lt;List&lt;Integer&gt;&gt; 也可以使用 【参考方案1】:

toArray 创建一个全新的数组,而toArray(T[] arr) 尝试将列表的所有元素放入提供的arr 数组中。

【讨论】:

toArray() 返回一个Object 数组而不是T[]【参考方案2】:

您只需要对列表使用 foreach 循环,对数组使用普通循环。

public int[][] toArray(ArrayList<> inputList)
int[][] toReturn = new int[inputList.size()][];
int i =0;
for(int[] arrayOfInts : inputList)
  for(int j=0;j<arrayOfInts.length;j++)
  toReturn[i][j]=arrayOfInts [j] ;
  
i++;

return toReturn  ;

【讨论】:

以上是关于如何在 Java 中将 list.toArray() 方法用于二维数组的主要内容,如果未能解决你的问题,请参考以下文章

关于java中的toArray()方法动态数组的运用???????

java list和数组之间的相互转化

关于java中动态数组的toArray()方法的运用????

java中List和Array相互转换

java中 我想把集合转化为数组

java List和数组转换