Iterator迭代器的用途和使用方法

Iterator迭代器:

Iterator接口:

在程序开发中,经常需要遍历集合中的所有元素,数组中我们可能会使用for循环通过其索引来遍历整个集合,但是有些集合中没有索引,我们无法通过for循环来遍历,针对这种需求,JDK专门提供了一个接口java.util.Iterator。
Iterator接口也是Java集合中的一员,但它与Collection、Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代器。

迭代是什么?

本质上来讲就是遍历,不过迭代是Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出,继续再次判断,如果还有就再取出出来。直到把集合中的所有元素全部取出。 这种取出方式专业术语称为迭代。

迭代器的用法:

Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊。Collection接口中有一个方法,叫iterator(),这个方法返回的就是迭代器的实现类对象。

Iterator<E> iterator() 返回在此 collection 的元素上进行迭代的迭代器。

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

Iterator接口有两个常用的方法:

    boolean hasNext() 如果仍有元素可以迭代,则返回 true。 判断集合中还有没有下一个元素,有就返回true,没有就返回false List item public E next() 返回迭代的下一个元素。 取出集合中的下一个元素

迭代器的使用步骤(重点):

  1. 使用集合中的方法 Iterator() 获取迭代器的实现类对象,使用 Iterator 接口接收(多态)
  2. 通过 while 语句来实现循环,循环条件使用 Iterator 接口中的方法hasNext判断还有没有下一个元素
  3. 使用 Iterator 接口中的方法next取出集合中的下一个元素

案例:

public static void main(String[] args) {
          
   
		// 使用多态方式 创建一个集合对象
        Collection<String> list = new ArrayList<>();
        list.add("迭");
        list.add("代");
        list.add("器");
        list.add("遍");
        list.add("历");
        list.add("真");
        list.add("香");
        list.add("!");
        //使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
          
   //判断还有没有下一个元素,有则进入循环,没有就退出
            String s = it.next();//取出集合中的元素
            System.out.print(s);
        }
    }
>迭代器遍历真香!
经验分享 程序员 微信小程序 职场和发展