Java 将行添加到Arraylist

Java 将行添加到Arraylist,java,arraylist,Java,Arraylist,在方法addRow()中,我需要将行添加到2D Arraylist的末尾。例如,如果我创建了一个对象: Board<String> board = new Board<String>(1,4,0,4,"A"); //(int minRow, int maxRow, int minCol, int maxCol, T e) System.out.println(board); 但是当我调用board.addRow()(addRow()每次调用只添加一行)时,输出根本不

在方法
addRow()
中,我需要将行添加到2D Arraylist的末尾。例如,如果我创建了一个对象:

 Board<String> board = new Board<String>(1,4,0,4,"A"); //(int minRow, int maxRow, int minCol, int maxCol, T e)
 System.out.println(board);
但是当我调用
board.addRow()
addRow()
每次调用只添加一行)时,输出根本不会改变。 例如,如果我

board.addRow();
board.addRow();
输出应如下所示:

       |  0|  1|  2|  3|  4|
       +---+---+---+---+---+
     1 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
     2 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
     3 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
     4 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
     5 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
     6 |  A|  A|  A|  A|  A|
       +---+---+---+---+---+
但它只生成我以前的输出:

   |  0|  1|  2|  3|  4|
   +---+---+---+---+---+
 1 |  A|  A|  A|  A|  A|
   +---+---+---+---+---+
 2 |  A|  A|  A|  A|  A|
   +---+---+---+---+---+
 3 |  A|  A|  A|  A|  A|
   +---+---+---+---+---+
 4 |  A|  A|  A|  A|  A|
   +---+---+---+---+---+
smb能告诉我我做错了什么吗?提前谢谢

public Board(int minRow, int maxRow, int minCol, int maxCol, T fillElem){
      this.minRow = minRow;
      this.maxRow = maxRow;
      this.minCol = minCol;
      this.maxCol = maxCol;

      if(fillElem == null){
          throw new RuntimeException("Cannot set elements to null");
      }
      else{
          this.element = fillElem;
      }

问题是这样的:现在你正在添加的新行没有元素,你正在添加一个空行,所以你没有什么可打印的,这就是为什么你一直看到相同的输出,我在创建板时重用了一些代码,以便向新行添加元素

public void addRowBottom(){
        int origRow = maxRow - minRow;
        int col = maxCol - minCol;

        ArrayList<T> rowLine = new ArrayList<T>();
        myBoard.add(origRow + 1, rowLine);

        for(int j = 0; j <= col; j++){
            rowLine.add(j, this.element);
        }
    }
public void addRowBottom(){
int-origRow=maxRow-minRow;
int col=maxCol-minCol;
ArrayList行线=新建ArrayList();
添加(origRow+1,行线);

对于(int j=0;j plz copy add()方法also@RamanShrivastava,你说的复制添加()是什么意思?想看看代码的添加()方法的板类添加()是ArrayList@RamanshRivastava的内置方法为什么你需要
origRow=maxRow-minRow;myBoard.add(origRow+1,row);
。为什么不只是
myBoard.add(row)
work?List.add()附加在最后一行?你也能发布数组显示方法吗?非常感谢!@JavierMoreno
public void addRowBottom(){
        int origRow = maxRow - minRow;
        int col = maxCol - minCol;

        ArrayList<T> rowLine = new ArrayList<T>();
        myBoard.add(origRow + 1, rowLine);

        for(int j = 0; j <= col; j++){
            rowLine.add(j, this.element);
        }
    }
public void addRowBottom(){
        int origRow = maxRow - minRow;
        int col = maxCol - minCol;

        ArrayList<T> rowLine = new ArrayList<T>();

        maxRow = maxRow + 1; //here you are updating the maxNumber of rows
        myBoard.add(origRow + 1, rowLine);

        for(int j = 0; j <= col; j++){
            rowLine.add(j, this.element);
        }
    }