2017-08-14 51 views
1

前填充的ArrayList的名單我有一個書單如下如何添加項目,在Java中

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

但它不工作。如何添加更多項目?還是有更好的方法來處理這種情況?

回答

6

您不能添加或移除由Arrays.asList()創建的List的元素。

其javadoc的狀態確實:

返回由指定數組支持的固定大小的列表。

爲了能夠在列表創建後添加新元素,可以將固定大小的列表包裝在新的ArrayList中。

例如這樣的:

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

可以寫成:

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

真的真的謝謝你 –

+0

你是非常非常歡迎的。 – davidxxx