首页 > 其他 > 详细

Iterator迭代器

时间:2020-10-25 23:22:32      阅读:36      评论:0      收藏:0      [点我收藏+]

一·Iterator接口

1.Collection集合中是没有索引的,使用Iterator迭代器来遍历它

2.Iterator迭代器是一种集合中通用的取出集合的方式

3.迭代:即Collection集合元素的通用获取方式,在取出元素之前要判断集合中有没有元素,如果有把这个元素取出来,继续再进行判断,如果还有就再取出来,一直把集合中的元素全部取出,这种取出方式就称为迭代

4.Iterator迭代器:对集合进行迭代的迭代器(对集合进行遍历),同时Iterator是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象

5.Collection接口中有一个方法叫iterator(),这个方法就是返回迭代器的实现类对象(Iterator<E> iterator()返回在此Collection的元素上进行迭代的迭代器

二·Iterator常用方法:

1.迭代器的使用步骤

(1)使用Collextion集合中的方法iterator()来获取迭代器的实现对象,使用Iterator接口接收(多态)

  注意:Iterator<E>接口是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型迭代器就是什么泛型

(2)使用Iterator接口中的方法hasNext,判断还有没有下一个元素

(3)使用Iterator接口中的方法next取出集合中的下一个元素

public static void main(String[] args) {
        Collection<String> coll =new ArrayList<>();
        coll.add("刘备");
        coll.add("张飞");
        coll.add("关羽");
        coll.add("孔明");
        coll.add("庞统");

        //1.获取一个迭代器,使用Collextion集合中的方法iterator()来获取迭代器的实现对象,使用Iterator接口接收(多态)
        //多态  接口    实现类对象
        //Iterator<E> it=coll.iterator();
        //2.使用Iterator接口中的方法hasNext,判断还有没有下一个元素
       Iterator<String> it=coll.iterator();
       boolean b=it.hasNext();
        System.out.println(b);//true,没有元素返回false,有返回true
        //3.使用Iterator接口中的方法next取出集合中的下一个元素
        /*String s = it.next();
        System.out.println(s);//刘备*/
        //注意:若没有元素时取出元素,会抛出异常(NoSuchElementException没有元素异常)

        //我们可以使用循环优化迭代器,不知道集合中有多少元素,使用while循环,循环结束的条件hasNext方法返回false
        while(it.hasNext()){
            String s1 = it.next();
            System.out.println(s1);
        }
    }

2.迭代器的实现原理

技术分享图片

 

Iterator迭代器

原文:https://www.cnblogs.com/shen-ran/p/13875702.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!