[英]Storing an ArrayList in an 2d Array Java
如何在二維數組中存儲ArrayList?
我已經嘗試過這種方法,但是無法正常工作:
ArrayList<Integer> arrList = new ArrayList<Integer>();
ArrayList<Integer>[][] arr = new ArrayList<Integer>[9][9];
但它甚至不讓我聲明ArrayList-Array。
有沒有一種方法可以將列表存儲在二維數組中?
提前致謝!
您無法在Java中創建泛型類型的數組。 但這會編譯:
ArrayList<Integer> arrList = new ArrayList<Integer>();
ArrayList<Integer>[][] arr = (ArrayList<Integer>[][]) new ArrayList[9][9];
arr[0][0] = arrList;
為什么不能創建這些數組? 根據泛型常見問題解答, 由於此問題 :
Pair<Integer,Integer>[] intPairArr = new Pair<Integer,Integer>[10]; // illegal
Object[] objArr = intPairArr;
objArr[0] = new Pair<String,String>("",""); // should fail, but would succeed
假設您想在另一個ArrayList
內的ArrayList
內包含一個ArrayList
,則可以在類型聲明中簡單地指定它:
ArrayList<ArrayList<ArrayList<Integer>>> foo = new ArrayList<ArrayList<ArrayList<Integer>>>();
可以通過以下方式訪問條目:
Integer myInt = foo.get(1).get(2).get(3);
只是要警惕邊界-如果您嘗試訪問越界索引,則會看到拋出異常的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.