将数组列表转换为数组数组
2022-09-02 12:43:17
我有一个这样的列表:
List<MyObject[]> list= new LinkedList<MyObject[]>();
和对象像这样:
MyObject[][] myMatrix;
如何将“列表”分配给“myMatrix”?
我不想循环访问列表并将元素逐个元素分配给MyMatrix,但我想在可能的情况下直接分配它(通过oppurtune修改)。谢谢
我有一个这样的列表:
List<MyObject[]> list= new LinkedList<MyObject[]>();
和对象像这样:
MyObject[][] myMatrix;
如何将“列表”分配给“myMatrix”?
我不想循环访问列表并将元素逐个元素分配给MyMatrix,但我想在可能的情况下直接分配它(通过oppurtune修改)。谢谢
您可以使用 .toArray(T[])
import java.util.*;
public class Test{
public static void main(String[] a){
List<String[]> list=new ArrayList<String[]>();
String[][] matrix=new String[list.size()][];
matrix=list.toArray(matrix);
}
}
以下代码段显示了一个解决方案:
// create a linked list
List<String[]> arrays = new LinkedList<String[]>();
// add some trivial test data (note: arrays with different lengths)
arrays.add(new String[]{"a", "b", "c"});
arrays.add(new String[]{"d", "e", "f", "g"});
// convert the datastructure to a 2D array
String[][] matrix = arrays.toArray(new String[0][]);
// test output of the 2D array
for (String[] s:matrix)
System.out.println(Arrays.toString(s));