我有一个像这样声明的数组列表:
List<int[]> ls = new ArrayList<int[]>();
在这里,我试图保留一个包含这样的数组的列表: [ [1,2,3] ,[2,3],[4,5] ]
要将数组添加到此列表,我在 for 循环中执行此操作:
int[] a = new int[2];
a[0] = arr[i];
a[1] = arr[i]+k;
ls.add(a);
我想将这个数组列表转换为具有 1 行和 list.size 的矩阵,如下所示:
[[0, -1], [-1, -2], [2, 1], [1, 0]]
我该怎么做?
谢谢!
简单,调用 toArray:
// new double-dimension int array
// | conversion here
// | | specifying 1st dimension's size as list's
// | | size
int[][] converted = ls.toArray(new int[ls.size()][]);
// test it
System.out.println(Arrays.deepToString(converted));
int[][] arr = ls.toArray(new int[0][0]);
对于非古老版本的 Java(OpenJDK 6 及以上),建议将空数组传递给
toArray()
方法,而不是大小分配的数组。