Iterator迭代器

Posted ccav1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Iterator迭代器相关的知识,希望对你有一定的参考价值。

Iterator迭代器,用于遍历集合


什么是迭代?

先判断集合中有没有元素,如果有就把元素取出来。这种取出方式,称为迭代。


创建迭代器
Iterator<包装类> it = 集合名.Iterator();

两个方法
it.hasNext();//判断有没有元素

it.next();//获取元素

完整格式


Iterator<包装类> it = 集合名.Iterator();

while(it.hasNext()){
     包装类型  变量名 = list.it.next();
     System.out.println(变量名)
}

迭代器的实现原理

当遍历集合时,首先通过调用集合的 iterator() 方法获得 迭代器对象,然后使用 hashNext() 方法判断集合中是否存在下一个元素,如果存在,则调用 next() 方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。


示例一

package A

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

public class Demo1{
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        Iterator<Integer> it = list.iterator();
        while(it.hasNext()){//判断集合中有没有元素
            Integer integer = it.next();//获取元素
            System.out.println(integer);
        }
    }
}

示例二

package A;

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

public class Demo2{
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Tom");
        list.add("Jerry");
        Iterator<String> it = list.iterator();
        while ((it.hasNext())){
            String str = it.next();
            System.out.println(str);
        }
    }
}

tips::如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生 java.util.NoSuchElementException 没有集合元素的错误。



以上是关于Iterator迭代器的主要内容,如果未能解决你的问题,请参考以下文章

Java迭代器Iterator

Iterator(迭代器)

迭代器模式(Iterator Pattern)

迭代器模式-Iterator

STL之迭代器(iterator)

迭代器模式(Iterator Pattern)