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