当我尝试使用Arrays打印出一个阵列来打印出我的2D ArrayList时,它说“阵列无法解析”
如果你不想打印出Arraylist,那你觉得怎么样?
这是我的代码:
package assignment2;
import java.util.*;;
public class BadmintonScoring {
static final int PLAYER1 = 1;
static final int PLAYER2 = 2;
public static void main(String[] args){
ArrayList<Integer>[][] list = new ArrayList[2][26];
list[0][0] = new ArrayList<Integer>();
list[1][1].add(1);
list[2][2].add(2);
for(ArrayList<Integer>[] arr : list){
System.out.println(Arrays.toString(arr));
}
}
}
答案 0 :(得分:2)
你忘记了这些进口
import java.util.ArrayList;
import java.util.Arrays;
在下面一行中,您获得Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 0
list[0][0].add(5, 6);
<强>为什么强>?
您使用add函数尝试将Integer添加到2D数组列表
public void add(int index,E element)
将指定元素插入此列表中的指定位置。 移动当前位于该位置的元素(如果有)和任何元素 右边的后续元素(在索引中加一个)。
您没有添加任何元素0到4,所以基本上它们都是空的。之后你将整数添加到索引5,这是你的例外。
最后一点
for(ArrayList<Integer>[] arr : list){
System.out.println(Arrays.toString(list));
}
你需要打印出2D ArrayList的每个元素,这些元素将是arr
for(ArrayList<Integer>[] arr : list){
System.out.println(Arrays.toString(arr));
}
答案 1 :(得分:2)
for(ArrayList<Integer>[] arr : list){
System.out.println(Arrays.toString(list));
}
应该是:
for(ArrayList<Integer>[] arr : list){
System.out.println(Arrays.toString(arr));
}
答案 2 :(得分:1)
你有几个拼写错误
public static void main(String[] args) {
ArrayList<Integer>[][] list = new ArrayList[2][26];
list[0][0] = new ArrayList<Integer>();
list[0][0].add(5);
list[0][0].add(6);
for (ArrayList<Integer>[] arr : list) {
System.out.println(Arrays.toString(arr));
}
}