public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5 };
List<int[]> list = Arrays.asList(array);
Iterator<int[]> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
答案 0 :(得分:2)
您要查找的是List<Integer>
,而不是List<int[]>
:
//easier and more common way to build a List<Integer>
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
Iterator<Integer> it2 = list1.iterator();
while (it2.hasNext()) {
System.out.println(it.next());
}
或者,您可以将数组声明为Integer[]
并使用相同的代码:
Integer[] array = { 1, 2, 3, 4, 5 };
List<Integer> list = Arrays.asList(array);
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
答案 1 :(得分:0)
您声明一个列表,其元素是int类型的数组。
List<int[]> list = Arrays.asList(array);
现在使用迭代器时:
while (it.hasNext()) {
System.out.println(it.next()); // it.next() returns an int[]
}
因此it.next()
给我们一个类型为int[]
的数组,并且在其上调用了toString()
,它仅返回数组哈希码。
但是,如果您添加
System.out.println(Arrays.toString(it.next()));
您会看到数组的上下文。但这不是您可能想要的,您所需要做的只是将iterator
和list
类型更改为<Integer>
而不是ernest_k答案中所述的int[]
。