我想创建一个如下所示的数组列表:
ArrayList<Individual>[] group = new ArrayList<Individual>()[4];
但它不是编译。我该怎么做呢?
我想创建一个如下所示的数组列表:
ArrayList<Individual>[] group = new ArrayList<Individual>()[4];
但它不是编译。我该怎么做呢?
当前回答
List[] listArr = new ArrayList[4];
上面这行给出了警告,但它是有效的(即它创建了ArrayList的数组)
其他回答
这种情况的问题是,通过使用数组列表,在特定位置进行加法,你会得到o(n)的时间复杂度。如果使用数组,则通过声明数组来创建内存位置,因此它是常量
ArrayList<String> al[] = new ArrayList[n+1];
for(int i = 0;i<n;i++){
al[i] = new ArrayList<String>();
}
创建和初始化 对象[]yourArray = new对象[ARRAY_LENGTH]; 写访问 yourArray[我]= someArrayList; 访问内部数组列表的元素: ((ArrayList < YourType >) yourArray[我])阀门(elementOfYourType);//或其他方法 读访问 将数组元素i读取为数组列表使用类型转换: someElement= (ArrayList<YourType>) yourArray[i]; 对于数组元素i:读取数组列表元素在索引j处的值 arrayListElement= (ArrayList<YourType>) yourArray[i]).get(j);
List[] listArr = new ArrayList[4];
上面这行给出了警告,但它是有效的(即它创建了ArrayList的数组)
我发现这个更容易使用…
static ArrayList<Individual> group[];
......
void initializeGroup(int size)
{
group=new ArrayList[size];
for(int i=0;i<size;i++)
{
group[i]=new ArrayList<Individual>();
}