iterator多层遍历
时间: 2023-11-23 14:58:10 浏览: 42
根据提供的引用内容,我们可以了解到Iterator是一个接口,它只有一个方法iterator(),用于生成一个用于遍历集合的迭代器。因此,Iterator本身并不支持多层遍历,但我们可以通过在集合中嵌套集合来实现多层遍历。
下面是一个示例程序,演示了如何使用Iterator进行多层遍历:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class MultiLevelIterator {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
ArrayList<Integer> list3 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
list2.add(4);
list2.add(5);
list2.add(6);
list3.add(7);
list3.add(8);
list3.add(9);
list.add(list1);
list.add(list2);
list.add(list3);
Iterator<ArrayList<Integer>> outerIterator = list.iterator();
while (outerIterator.hasNext()) {
ArrayList<Integer> innerList = outerIterator.next();
Iterator<Integer> innerIterator = innerList.iterator();
while (innerIterator.hasNext()) {
System.out.print(innerIterator.next() + " ");
}
System.out.println();
}
}
}
```
在上面的示例程序中,我们创建了一个ArrayList,其中包含三个ArrayList,每个ArrayList包含三个整数。我们使用两个嵌套的迭代器来遍历这个多层集合,首先使用外部迭代器遍历外部ArrayList,然后使用内部迭代器遍历内部ArrayList。