我想知道迭代器是如何工作的:
List<List<Integer>> res;
for (List l : res) {
}
for (Integer a : res) {
}
哪一个是对的?我很困惑......
答案 0 :(得分:3)
你有一个列表列表,所以如果你想迭代所有内部列表的所有整数,你需要一个嵌套循环:
for (List<Integer> l : res) {
for (Integer a : l) {
}
}
答案 1 :(得分:1)
如果要使用迭代器,可以按照以下步骤进行操作
Iterator<List<Integer>> itr = res.iterator();
while (itr.hasNext()) {
Iterator<Integer> itr1 = itr.next().iterator();
while(itr1.hasNext()) {
System.out.println(itr1.next());
}
}
答案 2 :(得分:0)
或者,您可以使用流然后将平面映射到整数以迭代所有整数。例如,要查找所有整数的总和:
res.stream().flatMapToInt(List::stream).sum();
值得为循环学习流。