我有一个图书清单如下
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");
但它不起作用。如何添加更多物品?或者有更好的方法来处理这种情况吗?
答案 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)));