2017-10-15 184 views
0

首先,我已初始化的2D陣列:如何將行和列作爲列表添加到矩陣中?

List<List<T>> matrix; // matrix is an 2D array; 
public Table(Class<T> t) {; 
    matrix = new ArrayList<List<T>>(); 
} 

然後,我有一個addCow和addRow方法:

public void addRow(int i) { 
    List<T> list = new ArrayList<T>(); 
    for (int j = 0; j < cols(); j++) 
    { 
     list.add(null); 
    } 
    matrix.add(i, list);//add a list of null to the matrix 
} 

public void addCol(int j) { 
    if (rows() == 0) return; 
    for(int i = 0; i < rows(); i++){ 
     matrix.get(i).add(j, null);// HERE IS MY PROBLEMS 
    } 
} 

輸出是

program output

所以我的問題是,如何將一列作爲列表(或完整的集合)添加到矩陣中,就像addRow方法一樣,現在addCol將元素逐個添加到矩陣中,並且出現了錯誤「正確性失敗:添加新列後,表格中的列數不正確。」 我認爲問題是我作爲一個元素逐列添加列而不是一組。

+2

你的程序的預期輸出是什麼?爲什麼array' [] []'對你來說不是一個有用的數據結構? – nullpointer

+0

實際問題是什麼?問題只是'現在addCol將元素逐個添加到矩陣中',如果是這樣,爲什麼?它不工作? – pirho

回答

0

如果你想添加一個集合,然後使用addAll()