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

リストにnullが必要な理由はわかりませんが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 に答える