Kla*_*sos 7 java arrays row arraylist
如何将行更改为列ArrayList<Integer[]>?例如:
ArrayList<Integer[]> arr = ArrayList<Integer[]>();
arr.add(new Integer[]{1,2,3});
arr.add(new Integer[]{4,5,6});
Run Code Online (Sandbox Code Playgroud)
它应该是:
[1]: 1 4
[2]: 2 5
[3]: 3 6
Run Code Online (Sandbox Code Playgroud)
如果使用ArrayList是不可能的,那么存储2D数据和将行更改为列的其他选项是什么?
有什么不对int[][]吗?这将是标准方法:
public static void main(String[] args) {
int[][] table = new int[][] { { 1, 2, 3 }, { 4, 5, 6 } };
// This code assumes all rows have same number of columns
int[][] pivot = new int[table[0].length][];
for (int row = 0; row < table[0].length; row++)
pivot[row] = new int[table.length];
for (int row = 0; row < table.length; row++)
for (int col = 0; col < table[row].length; col++)
pivot[col][row] = table[row][col];
for (int row = 0; row < pivot.length; row++)
System.out.println(Arrays.toString(pivot[row]));
}
Run Code Online (Sandbox Code Playgroud)
输出:
[1, 4]
[2, 5]
[3, 6]
Run Code Online (Sandbox Code Playgroud)
如果必须使用集合,请将其用作开头:
List<List<Integer>> table = new ArrayList<List<Integer>>();
table.add(Arrays.asList(1, 4));
table.add(Arrays.asList(2, 5));
table.add(Arrays.asList(3, 6));
Run Code Online (Sandbox Code Playgroud)