我想创建一个如下所示的数组列表:

ArrayList<Individual>[] group = new ArrayList<Individual>()[4];

但它不是编译。我该怎么做呢?


当前回答

ArrayList<String>[] lists = (ArrayList<String>[])new ArrayList[10]; 

其他回答

ArrayList<Integer>[] graph = new ArrayList[numCourses] 它的工作原理。

你可以这样做 ArrayList<Individual>[] group = (ArrayList<Individual>[])new ArrayList[4];

您必须创建非泛型类型的数组,然后将其转换为泛型类型。

你可以做到的。创建ArrayList类型的Array

ArrayList<Integer>[] a = new ArrayList[n];

为数组中的每个元素创建一个数组列表

for(int i = 0; i < n; i++){ 
    a[i] = new ArrayList<Integer>();
}
ArrayList<String> al[] = new ArrayList[n+1];
for(int i = 0;i<n;i++){
   al[i] = new ArrayList<String>();
}

你可以创建一个List[]并通过for循环初始化它们。它编译时没有错误:

List<e>[] l;
for(int i = 0; i < l.length; i++){
    l[i] = new ArrayList<e>();
}

它也适用于arrayList[] l。