Iterator [ɪtə’retɚ] 迭代器
    每次使用next方法,先取值,然后就会移到下一位 it.next(); // 当存在就取值,然后移位,这样就可以将所有的元素取出来了
    image.png
    image.png

    1. package com.itheima.d3_collection_traversal;
    2. import java.util.ArrayList;
    3. import java.util.Collection;
    4. import java.util.Iterator;
    5. public class CollectionDemo1 {
    6. public static void main(String[] args) {
    7. Collection<String> lists = new ArrayList<>();
    8. lists.add("赵敏");
    9. lists.add("赵1");
    10. lists.add("赵2");
    11. lists.add("赵3");
    12. System.out.println(lists);
    13. // [赵敏, 赵1, 赵2, 赵3]
    14. // it 。。 每次使用next方法,先取值,然后就会移位
    15. // 1. 得到当前集合的迭代器对象 泛型这里写String,因为上面的lists操作的就是String类型的元素
    16. Iterator<String> it = lists.iterator(); // 利用集合的iterator对象,得到迭代器集合对象,
    17. String ele = it.next(); // 使用迭代器的next方法 将第一个元素取出来,然后移位
    18. System.out.println(ele); //赵敏
    19. System.out.println(it.next()); // 赵1
    20. System.out.println(it.next()); // 赵2
    21. System.out.println(it.next()); // 赵3
    22. //当位置都移完了后,就会报错
    23. // System.out.println(it.next()); //NoSuchElementException 出现无此元素异常的错误
    24. // 每次使用 iterator.next() 都会先取值,后移位
    25. // 定义while循环
    26. while (it.hasNext()){ // hasNext()循环迭代器当前位置,是否有元素存在,存在返回true,不存在返回false
    27. String ele1 = it.next(); // 当存在就取值,然后移位,这样就可以将所有的元素取出来了
    28. System.out.println(ele1);
    29. }
    30. }
    31. }