在List的每个索引上创建ArrayList

时间:2013-05-07 05:43:56

标签: java arraylist

我有一个像这样的列表

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>();
        }

    }
}

我做错了什么?

此致

3 个答案:

答案 0 :(得分: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 naming conventions。您的代码将更具可读性。

答案 1 :(得分:2)

您无法像在数组中一样设置arrayList的大小(使用[])

答案 2 :(得分: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;
}