简体   繁体   English

二维数组| 爪哇

[英]Two Dimensional Array | Java

I have code which creates a two dimensional array but I want to modify this code so that instead of int, class Integer is used; 我有创建二维数组的代码,但我想修改此代码,以便使用Inte类代替Int。 and instead of arrays, nested ArrayList is used. 而不是数组,而是使用嵌套的ArrayList。

How do I achieve this? 我该如何实现? Thank you. 谢谢。

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

All you need is a 您只需要一个

List<List<Integer>> matrix;

This is a list of a list. 这是列表的列表。 so the 0 position will hold the column / row based on the implementation. 因此0位置将根据实现保留列/行。

Your code should look like 您的代码应如下所示

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 code not tested may need small tweaks but it should provide a good guideline. 未经测试的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;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM