初始化二维ArrayList中的元素构造函数

时间:2013-03-19 12:07:34

标签: arraylist initialization

public class Build_Cells extends Loop {
private List<List<Cell>> map = new ArrayList<List<Cell>>();
public Build_Cells(){
}
public Build_Cells( int height, int width , int cell_size ){
    int col = height / cell_size;
    int rows = width / cell_size;
    for( int y = 0; y < col ; y++){
        map.add(y, new ArrayList<Cell>(rows));
    }
}

};

在最后一行代码中:map.add(y,new ArrayList(rows)); 我希望它为ArrayList(行)中的每个元素运行Cell的构造函数Cell() - 但是我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以创建列表及其中的所有列表。但不是实际的Cell对象。试试这个:

for( int y = 0; y < col ; y++){
    List<Cell> colObj = new ArrayList<Cell>(rows);
    map.add(y, colObj);
    for( int x = 0; x < rows ; x++){
        colObj.add( new Cell() );
    }
}