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

时间:2017-08-14 17:45:31

标签: java arrays list arraylist

我有一个图书清单如下

public static ArrayList<List<String>> booksList = new ArrayList<List<String>>();

如下所示填写

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

我想将项目添加到Arraylist

的特定行列表中
booksList.get(0).add("BUYED");
booksList.get(0).add(0,"BUYED");

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

1 个答案:

答案 0 :(得分:7)

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

它的javadoc确实说明了:

  

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

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

例如:

BooksList.add(Arrays.asList("Coders at Work", null));

可写:

BooksList.add(new ArrayList<>(Arrays.asList("Coders at Work", null)));