猿问

Java - 作为二维数组的元素列表

这可能是一个奇怪的问题,但是......

如何使用 List/ArrayList 作为 2D 数组的类型?

如果我没有正确解释自己:

int[][] arrayName = new int[9][9];

在这个例子中,我想使用ArrayList<int>而不仅仅是int,但我不允许。要么是这样,要么我可能使用了错误的语法。

编辑:看起来我对我的问题不够清楚(并且写了一个误导性的标题,我的错,现在修复它)。

我所拥有的是一个由 2D 数组制成的网格,如上面的示例,但我想要一个整数 ArrayList 作为该网格的单个单元格的元素。

ArrayList<Integer>[][] grid = new ArrayList<Integer>()[9][9]

像这样的东西。这是正确的语法吗?我什至可以这样做吗?


猛跑小猪
浏览 186回答 2
2回答

蓝山帝景

由于您不能在集合中使用原始类型(在您的情况下为 int),因此您需要使用 Interger 包装器所以二维数组列表应该是List<List<Interger>>&nbsp;array&nbsp;=&nbsp;new&nbsp;ArrayList<List<Interger>>();

慕神8447489

之间<>需要一个class. 在你的情况下Integer要制作 2D,ArrayList您可以这样做:ArrayList<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>();ArrayList<Integer> b = new ArrayList<Integer>();b.add(1); b.add(2); b.add(3); b.add(4); b.add(5); b.add(6);ArrayList<Integer> c = new ArrayList<Integer>();c.add(3); c.add(7); c.add(1); c.add(3); c.add(9);ArrayList<Integer> d = new ArrayList<Integer>();d.add(8); d.add(3); d.add(3); d.add(8); d.add(3); d.add(6);ArrayList<Integer> e = new ArrayList<Integer>();e.add(7); e.add(2); e.add(8);a.add(b); a.add(c); a.add(d); a.add(e);for(ArrayList<Integer> aux : a) {&nbsp; &nbsp; for(Integer temp : aux) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.print(temp + " ");&nbsp; &nbsp; }&nbsp; &nbsp; System.out.println("");}//1 2 3 4 5 6//3 7 1 3 9&nbsp;//8 3 3 8 3 6&nbsp;//7 2 8&nbsp;
随时随地看视频慕课网APP

相关分类

Java
我要回答