二维数组 | Java

Two Dimensional Array | Java

我有创建二维数组的代码,但我想修改此代码,以便使用 class Integer 而不是 int;并且使用嵌套的 ArrayList 而不是数组。

我该如何实现?谢谢。

public class Array {
   int[][] fillMatrix() {
      int[][] matrix = new int[5][4];
      for (int row = 0; row < 5; row++) {
          for (int column = 0; column < 4; column++) {
              matrix[row][column] = row * column;
          }
      }
      return matrix;
   }
}

你只需要一个

List<List<Integer>> matrix;

这是列表中的列表。因此 0 位置将根据实现保留列/行。

您的代码应该类似于

List<List<Integer>> matrix = new ArrayList<List<Integer>>;
    for (int row = 0; row < 5; row++) {
        matrix.add(new ArrayList<Integer>())
        for (int column = 0; column < 4; column++) {
             matrix.get(row).add(row * column);
        }
    }
    return matrix;
}

PS 未经测试的代码可能需要进行小的调整,但它应该提供了一个很好的指导方针。

import java.util.ArrayList;
import java.util.List;

public class Array {
    List<ArrayList<Integer>> matrix = new ArrayList<ArrayList<Integer>>();

    List<ArrayList<Integer>> fillMatrix() {
        for (int row = 0; row < 5; row++) {
            matrix.add(new ArrayList<Integer>());
            for (int column = 0; column < 4; column++) {
                matrix.get(row).add(column,  row * column);
            }
        }
        return matrix;
    }
}