Java:迭代java中的列表列表

时间:2015-01-11 19:29:56

标签: java list iterator

我想知道迭代器是如何工作的:

List<List<Integer>> res;
for (List l : res) {
}

for (Integer a : res) {
}

哪一个是对的?我很困惑......

3 个答案:

答案 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();

值得为循环学习流。