2

观察以下代码:

private List<List<Place>> m_grid = constructGrid(10000);

private static List<List<Place>> constructGrid(int size) {
  List<List<Place>> res = new ArrayList<List<Place>>(size);
  for (int i = 0; i < size; ++i) {
    res.add(null);
  }
  return res;
}

它是沉闷的。有没有更漂亮的方法来做同样的事情?使用某种标准库的单班轮?

谢谢。

编辑

该列表必须是可变的。因此,Collections.nCopies不适合该法案。

4

1 回答 1

4

我真的不明白为什么你10000的列表中需要空值,但如果你想这样做,你可以这样做:

List<List<Place>> tmp = Collections.nCopies(10000, null); // immutable
List<List<Place>> res = new ArrayList<List<Place>>(tmp);  // mutable
于 2012-05-20T10:14:20.323 回答