如何将新项添加到java中填充的arraylist列表中?

SaM*_*MiX 1 java arrays list arraylist

我有一个书单如下

public static ArrayList<List<String>> booksList = new ArrayList<List<String>>();
Run Code Online (Sandbox Code Playgroud)

并填充如下所示

booksList.add(Arrays.asList("Coders at Work", null));
booksList.add(Arrays.asList("Code Complete",null));
booksList.add(Arrays.asList("The Mythical Man Month",null));
booksList.add(Arrays.asList("Don't Make Me Think",null));
booksList.add(Arrays.asList("The Pragmatic Programmer",null));
Run Code Online (Sandbox Code Playgroud)

我想将项目添加到特定行的列表中 Arraylist

booksList.get(0).add("BUYED");
booksList.get(0).add(0,"BUYED");
Run Code Online (Sandbox Code Playgroud)

但它不起作用.如何添加更多物品?或者有更好的方法来处理这种情况吗?

dav*_*xxx 7

您无法添加或删除List创建的元素Arrays.asList().

它的javadoc确实说:

返回由指定数组支持的固定大小的列表.

为了能够在创建列表后添加新元素,您可以将固定大小的List包装在新的中ArrayList.

例如:

BooksList.add(Arrays.asList("Coders at Work", null));
Run Code Online (Sandbox Code Playgroud)

可写:

BooksList.add(new ArrayList<>(Arrays.asList("Coders at Work", null)));
Run Code Online (Sandbox Code Playgroud)