二维阵列| Java的

时间:2015-10-30 16:21:08

标签: java arrays matrix arraylist nested

我有创建二维数组的代码但是我想修改这个代码,以便使用类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;
   }
}

2 个答案:

答案 0 :(得分:2)

你需要的只是一个

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代码可能需要小的调整,但它应该提供一个很好的指导。

答案 1 :(得分:0)

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