我无法理解ArrayList [] = new Arraylist [<size>];宣言。

时间:2017-07-16 09:34:52

标签: java arrays arraylist

ArrayList[] arr = new ArrayList[5];

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

现在,要将给定值添加到给定索引,我可以这样做:

arr[index].add(value);

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

ARR [指数]卸下摆臂();不起作用。它说找不到remove()

的方法

2 个答案:

答案 0 :(得分:1)

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

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

添加

list.add(sc.nextInt());

使用

删除它
list.remove(index);

答案 1 :(得分:0)

根据Oracle documentation

  

&#34;您无法创建参数化类型数组&#34;

如果需求是列表,其中还包含列表(refer here),那么

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