[英]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.