Java Collection集合中的iterator方法

Iterator接口的概述

  1. java.util.Iterator接口:选代器(对集合进行遍历)

  2. 有两个常用的方法

    1. boolean hasNext()

      如果仍有元素可以迭代,则返回true。

      即判断集合中还有没有下ー个元素,有就返回true,没有就返回

    2. E next()

      返回送代的下一个元素。

      即取出集合中的下一个元素

  3. iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象。

  4. 获取实现类的方式比较特殊Collection接口中有一个方法,叫iterator(),这个方法返回的就是送代器的实现类对象

迭代器的使用步骤

  1. 使用集合中的方法 iterator()获取送代器的实现类对象,使用Iterator接口接收(多态)
  2. 使用Iterator接口中的方法hasNext来判断还有没有下一个元素
  3. 使用Iterator接口中的方法next来取出集合中的下一个元素

迭代器的简单使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;

public class Demo01Iterator {
    public static void main(String[] args) {
        Collection <String> collection = new ArrayList<>();

        collection.add("1号");
        collection.add("2号");
        collection.add("3号");
        collection.add("4号");
        collection.add("5号");

        // 第一步:使用集合中的方法 iterator() 获取送代器的实现类对象
        // 第二步:使用Iterator接口接收(多态)
        Iterator<String> stringIterator = collection.iterator();

        // 第三步:使用Iterator接口中的方法hasNext来判断还有没有下一个元素
        while (stringIterator.hasNext()) {
            // 第四步:使用Iterator接口中的方法next来取出集合中的下一个元素
            System.out.println(
                    stringIterator.next()
            );
        }
        
    }
}
输出结果:
1号
2号
3号
4号
5号

迭代器的使用原理

  1. new一个集合出来
    collection = new ArrayList<>()

  2. 假设集合中添加有元素
    collection = [一号元素, 二号元素, 三号元素, 四号元素, 五号元素]

  3. 集合中的元素对应的索引
    Index = [0, 1, 2, 3, 4]

  4. 调用iterator方法
    collection.iterator()
    作用:获取迭代器的实现类对象井且会把指针(索引)指向集合的-1素引

  5. 代码说明:

    while (stringIterator.hasNext()) {
        stringIterator.next()
    }
    
    1. 通过Iterator接口的hasNext()方法,判断集合是否还有没有下一个元素。
    2. 如果有下一个元素,那么就调用Iterator接口的next()方法,取出下一个元素,并且会把指针向后移一位。
  6. 就这样,从索引的 -1 位置的下一位索引,开始获取元素,直到获取完全。

posted @ 2020-01-12 16:30  LeeHua  阅读(2872)  评论(0编辑  收藏  举报