3

私はこのようなリストを持っています

public List<String>[] Depth_List;

このリストの各インデックスで、ArrayList を作成したいと思います。配列のサイズはユーザーが指定します。それを初期化する関数は次のように与えられます

public  void CreateList(int deep){
    Depth_List= new ArrayList<String>[deep];

        for (int d_i = 0; d_i <deep; d_i++)
        {
            Depth_List[d_i]= new ArrayList<String>();
        }

    }
}

私は何を間違っていますか?

よろしく

4

3 に答える 3

3

あなたはそのようにすることができます:

public List<List<String>> depthList;
public  void CreateList(int deep) {
    depthList= new ArrayList<List<String>>();

    for (int d_i = 0; d_i <deep; d_i++) {
        depthList.add(new ArrayList<String>());
    }

}

補足: Java 命名規則についてお読みください。あなたのコードははるかに読みやすくなります。

于 2013-05-07T05:48:36.340 に答える
2

初期容量を使用して、最適化のために ArrayList を設定できます。

public List<List<String>> createDepthList(int depth) 
{
  List<List<String>> result = new ArrayList<List<String>>(depth);
  for int(i = 0; i < depth; i++) 
  {
    result.add(new ArrayList<String>());
  }
  return result;
}
于 2013-05-07T05:55:53.147 に答える
2

配列のようにarrayListのサイズを設定することはできません([]を使用して)

于 2013-05-07T05:46:38.793 に答える