java - 如何将行更改为 ArrayList<Integer[]> 中的列

标签 java arrays arraylist row

如何在 ArrayList<Integer[]> 中将行更改为列?例如:

ArrayList<Integer[]> arr = ArrayList<Integer[]>();
arr.add(new Integer[]{1,2,3});
arr.add(new Integer[]{4,5,6});

应该是:

[1]: 1 4
[2]: 2 5
[3]: 3 6

如果 ArrayList 无法实现,那么存储二维数据和将行更改为列的其他选项是什么?

最佳答案

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]));
}

输出:

[1, 4]
[2, 5]
[3, 6]


如果您必须使用集合,请使用:

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));

关于java - 如何将行更改为 ArrayList<Integer[]> 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787367/

相关文章:

.net - 为什么复制对字符串的引用比复制整数慢得多(对于 Array.Copy(),反之亦然)?

arrays - 当我希望用户不要用相同的名字命名他/她选择的角色时,要实现什么控制流程?

java - 比较两个对象数组列表

java - 将矩形保留在 JFrame 中

java - 选中复选框时如何突出显示整行

python - 在公共(public)列上查找两组 Python Numpy 数组

数组列表中的 C# 对象

java: ArrayList() 方法返回结果:如果传递参数或不传递参数

java - 每次迭代后删除二维数组的列和行

java - 如何仅使用 MyBatis 设置属性 'maxActive'?