我无法理解 ArrayList[]= new Arraylist[<size>]; 声明


ArrayList[] arr = new ArrayList[5];
for(int i=0; i<5; i++)
{
arr[i]= sc.nextInt();
}

现在,要将给定值添加到给定索引,我可以执行以下操作:

arr[index].add(value);

但是如何删除给定索引的值?

arr[index].remove((; 不起作用。它说没有找到 remove(( 的方法

不要在ArrayList中使用方括号。列表不是数组。

ArrayList<Integer> list = new ArrayList<>(5);

添加到它

list.add(sc.nextInt());

从中删除

list.remove(index);

根据Oracle 文档

"不能创建参数化类型的数组">

如果要求是进一步包含列表的列表(请参阅此处(,则

List<ArrayList<String>> hs = new ArrayList<>();
for (int i = 0; i < 5; i++) {
ArrayList<String> list = new ArrayList<String>();
list.add("Welcome");
list.add(" here");
hs.add(list);
}

此外,您的示例的工作模式将如下所示:

ArrayList[] arr = new ArrayList[5];
for(int i=0; i<5; i++) {
if (arr[i] == null) {
arr[i] = new ArrayList<>();
}
arr[i].add(21);
}

相关内容

最新更新