码迷,mamicode.com
首页 > 其他好文 > 详细

Iterator迭代器

时间:2018-11-22 00:02:34      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:while   迭代   iterator   imp   tips   lock   存在   integer   int   

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迭代器

标签:while   迭代   iterator   imp   tips   lock   存在   integer   int   

原文地址:https://www.cnblogs.com/ccav1/p/9998067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!