集合【伍】— 跌代器

概述

迭代器是获取所有元素的通用方式

Java中集合有很多种,它们在存储元素时,采用的存储方式不同,而读取的元素的方式也可能不同,那我们要通过一种通用的获取方式来完成。

Colletion 集合元素的通用获取方式,在取元素之前先判断集合中是否有元素,如果有,就把元素取出,如果没有,继续下一次的判断,直到把所有元素都读取出来,这种取出方式专业术语称为迭代。

集合中把这种取元素的方式描述在Iterator接口中,Iterator接口的常用方法如下

HasNext() 判断是否有该元素并返回boolean元素

迭代器代码

        Collection<String>  coll = new ArrayList<String>();
        coll.add("小明");
        coll.add("小王");
        coll.add("小李");
        coll.add("小红");
        coll.add("小张");

	 //迭代器代码
	   Iterator<String>  it = coll.iterator();
	        while (it.hasNext()){  //有的话,继续拿一个出来,直到没有
	            String s1 = it.next();
	            System.out.println(s1);
        }

迭代器代码的步骤

创建一个集合

集合的祖先 类型  集合名    集合所属类 类型
 Collection<String>  coll = new ArrayList<String>();

往集合中添加元素

        coll.add("小明");
        coll.add("小王");
        coll.add("小李");
        coll.add("小红");
        coll.add("小张");

迭代器 ,对集合中ArrayList 中的元素进行取出##

	调用集合iterator() 方法获取,Iterator接口的实现类对象
	接口引用  类型 名称 =  实现类的对象  通过实现类的调用来获得

	Iterator<String>  it = coll.iterator();

接口实现类对象,通过调用hasNext() 来判断集合中是否有该元素

       boolean b = it.hasNext();
       System.out.println(b);  //true 说明接口中有元素

接口的实现类的对象,调用方法next() 获取集合中的元素##

    String s = it.next();
    System.out.println(s);  //此时 获取到第一个元素

迭代时一个返回执行的内容,使用循环实现,则循环条件时该集合中是否还有元素 使用while循环

while (it.hasNext()){…}

图解迭代器

注意

在进行集合元素取出时,如果集合中已经没有元素了,还继续迭代器的next方法,将会发生
1、没有元素异常
原因:元素取完之后,在此提取集合中的元素

posted @ 2020-08-13 22:19  诸葛孔萌  阅读(165)  评论(0编辑  收藏  举报