-3

我有一个ArrayList-s ArrayList。如何使用给定的行数和列数初始化字段?我试过这个:

ArrayList<ArrayList<E>> field;

public Field(int rows, int cols) {
    field = new ArrayList<ArrayList<E>>(rows);
    for(ArrayList<E> t : field)
        t = new ArrayList<E>(cols);
}

但它不起作用。我该怎么做?

4

2 回答 2

0

您不需要初始化List的大小。

使用 List 的主要原因是它的大小可以改变。

使用列表,您可以这样做:

// declare and initialize List of Lists

List<List<Foo>> listOfFooLists = new ArrayList<List<Foo>>();

// create a List from some method

List<Foo> someFooList = createListOfFoos();

// add the List to the List of Lists

listOfFooLists.add(someFooList);

// get the first Foo from the first list of Foos

Foo f = listOfFooLists.get(0).get(0);
于 2012-11-17T08:45:36.440 回答
0

考虑一下:

public class Field<E> {
    ArrayList<ArrayList<E>> field;

    public Field(int rows, int cols) {
        field = new ArrayList<ArrayList<E>>(rows);
        for (int i = 0; i < rows; i++) {
            ArrayList<E> row  = new ArrayList<E>(cols);
            for (int j = 0; j < cols; j++) {
                row.add(null);
            }
            field.add(row);
        }
    }

    public static void main(String[] args) {
        Field<String> field = new Field<String>(10, 10);
    }

}
于 2012-11-17T16:41:27.940 回答