簡體   English   中英

ArrayList的ArrayList

[英]ArrayList of ArrayList

快速提問。 假設我將ArrayList bigArrayList定義為ArrayListArrayList 我的bigArrayList包含ArrayList以外的其他數據類型嗎? 其他數據類型,例如intString ,對象還是簡單數組?

ArrayList創建的示例代碼:

    ArrayList<ArrayList<String>> bigArrayList = new ArrayList<ArrayList<String>>();
    ArrayList<String> smallArrayList = new ArrayList<String>();
    bigArrayList.add(smallArrayList);

    int myInt = 12;
    bigArrayList.add(smallArrayList); //Acceptable??

另外,一旦將smallArrayList添加到bigArrayList中,我將如何進行修改? 提前致謝。

不可以,除了ArrayList之外, ArrayListArrayLists不能包含其他元素。 如果嘗試放入其他內容,則會出現編譯器錯誤。

但是,您可以將bigArrayList定義為ArrayList bigArrayList= new ArrayList(); 沒有任何類型信息,您可以存儲所需的任何內容。因此,泛型非常危險。

在集合中使用泛型(“ <>”事物)的目的是告訴編譯器您僅將特定類型的對象(及其子類)放入其中。 因此,您不能將其他類型放入bigArrayList 您可以不使用darijan建議的泛型來解決此問題。 正如他也警告過的那樣,不建議這樣做。

用於修改smallArrayList其加入后bigArrayList ,既可以修改所需要的代碼恢復smallArrayList的從參考bigArrayList (例如bigArrayList.get(0)和修改),或者你保留smallArrayList參考,並將其傳遞到所述修改的代碼。

順便說一句,您想通過代碼實現什么? 至少可以說,您在這里嘗試做的是很不尋常的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM