2017-04-19 67 views
1

我要創建的ArrayList的ArrayList即Java 2-D ArrayList:添加值。

ArrayList<ArrayList<Integer>> l=new ArrayList<ArrayList<Integer>>();

我將收到的值隨機即內部列表有時我可能會爲所述第一內部列表中的值,有時對於第二。 所以,我不得不做一些像l.get(x).add(y);但自從最初所有的外部列表變量指向null這會給我一個錯誤。 我不知何故需要初始化所有外部列表作爲一個空列表[]而不是null我可以得到一個有效的參考。

有關如何解決此問題的任何想法?

+0

如果用0初始化,該怎麼辦? –

+1

假設這[post](http://stackoverflow.com/questions/4401850/how-to-create-a-multidimensional-arraylist-in-java)有這個問題的一個很好的解決方案。 –

+0

我不認爲我可以用0初始化它,因爲我不知道內部列表的大小。 –

回答

2

你可以創建自己的擴展ArrayList覆蓋add()類型的函數的列表,並且在調用add()或類似的函數時,確保Array至少與當前索引+1一樣長,然後再插入子數組。