java网课|Iterator接口

P242 Iterator接口介绍(迭代器)

  • 之前学了有很多种集合
  • 存储的元素不太一样
  • 取出元素的方式也不太一样
  • =迭代器:一种通用的用来取出元素的方法
    在这里插入图片描述

迭代器方法

  • Boolean hasNext()
  • E next()返回迭代的下一个元素/取出集合种的下一个元素

Iterator迭代器,是一个接口,无法直接使用,需要使用Iterator【接口的实现类对象】,获取实现类的方式比较特殊

Collection接口中有一个方法,叫iterator(),返回的是迭代器的实现类对象
Iteratoriterator()返回在此collection的元素上进行迭代的迭代器

迭代器的使用方法

在这里插入图片描述

public static void main(String[]args){
	//创建一个集合对象
	Collection<String>coll=new ArrayList<>();//创建了一个coll对象
	//往集合中添加元素
	coll.add("yaa");
	....
	//要使用迭代器了!
	//第一个步骤!
	//注意:Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合的泛型走
	//多态    接口        实现类对象
	Iterator<String> it=coll.iterator();//获取迭代器的实现类对象it
	//第二个步骤!
	//使用Iterator接口中的方法hasNext判断还有没有下一个元素
	boolean b=it.hasNext();
	System.out.printIn(b);

	//第三个步骤!
	//next()取出下一个元素
	String s=it.next();
	System.out.printIn(s);

在这里插入图片描述
搞了4次,输出的是集合中四个元素(不要看都是b和s噢)
👇👇
重复代码太low了!!!
👇👇
用while循环优化(因为不知道有多少元素)

  • while(it.hasNext())===>即hasNext()!=false

可以用for循环吗?(可以,了解即可)
在这里插入图片描述

P244 迭代器的实现原理

增强for循环

专门用来遍历数组、集合
==》内部实际上是一个Iterator迭代器,【不能对集合中的元素进行增删操作】

格式

在这里插入图片描述
用于:遍历collection和数组,不能增删操作

举例

//使用增强for循环遍历数组
private static void demo01(){
	int[]arr={1,2,3,4,5};
	for(int i:arr){// (集合/数组数据类型 变量名:集合/数组名)
		sout(i);//会换行输出
		}

//遍历集合
private static void demo02(){
	ArrayList<String>list=new ArrayList<>();
	list.add("aa");
	list.add("s");
	for(String s:list){
		sout(s);
		}

for中写: 数据类型 变量名:集合名
注意事项:

  • 新的循环必须有目标,只能是数组/集合
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值