2017-10-15 182 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()