java迭代for(iterator)_Java_Iterator接口(迭代器)&增强for循环

Iterator(迭代器)是一个很重要的接口,作用和遍历差不多

在Collection的集合里面,因为没有索引所以无法用for循环,这个时候就需要用到Iterator接口

迭代:是Collection集合元素的通用获取方式,取元素前会先进行判断是否存在元素如果有就把元素取出来,一直到把集合的元素全部取出来

一.Iterator的常用方法

1.

public boolean hasNext();

判断有没有下一个元素,如果有就返回ture,若没有就返回false

2.

E next();

返回迭代的下一个元素;

二.Iterator的对象创建

Iterator是一个接口我们无法直接创建对象,在Collection方法中,有一个Iterator Iterator()的方法返回值是一个迭代器

三.迭代器的使用步骤

1.使用集合的方法iterator()获取一个迭代器的实现类对象

2.用Iterator中的hasNext()方法判断集合中有没有下一个元素

3.用Iterator中的next()方法取出元素迭代器的操作

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

public class Demo01Iterator {

public static void main(String[] args) {

Collection c=new ArrayList<>();//创建一个集合对象

c.add("天才");

c.add("傻子");

c.add("笨蛋");

Iterator i=c.iterator();//用Collection集合里的iterator方法获取一个迭代器对象,用迭代器接收

while(i.hasNext()){//判断集合下一个位置有没有元素有就执行

String s = i.next();//取出集合迭代的下一个元素

System.out.println(s);//输出取出的元素

}

}

}

代码使用注释都如图

hasNext()方法浅析:

在代码:Iterator i=c.iterator();

不但获取了一个实现类的对象并且将一个指针(索引)指向集合的负一位置hasNext

执行hasNext()的时候就会判断当前指针的下一个位置有没有元素,有就返回ture,当前指向-1,那么它就会判断1的位置有没有元素

next()方法:

next()方法会做两件事,第一是取出hasNext()判断出有元素的位置的元素,然后将指针往后移动一位。next()

三.增强for循环

要求:jdk1.5以后

作用:遍历,也是一个迭代的过程使用的也是迭代器,用for循环的格式简化了迭代器的书写

集合和数组可以使用的原因:Collection继承了一个叫Iterable的接口,使得继承了这个接口的数组和集合都可以使用foreach(增强for循环)

增强for循环的格式:

for(集合/数组的数据类型 变量名:集合/数组名){

输出(变量名)

}

例子:增强for循环遍历输出

import java.util.ArrayList;

public class Demo02ForEach {

public static void main(String[] args) {

demo01();

}

private static void demo01() {

ArrayList list=new ArrayList<>();//创建集合对象

list.add("就这");

list.add("??");//添加元素

list.add("###");

list.add("$$$");

for (String i:list){//使用增强for循环遍历集合

System.out.println(i);//打印集合元素

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值