java.util.Iterator接口:迭代器(对集合进行遍历)
有两个常用方法
boolean hasNext()
判断集合中还有没有下一个元素,如果仍有元素可以迭代,则返回
true
E
netx()
返回迭代的下一个元素。
Iterator迭代器是一个接口,无法直接使用,需要使用Iterator接口实现类对象,获取实现类的方式比较特殊 Collection接口中有一个方法叫 iterator(),这个方法返回的就是迭代器实现类对象
迭代器的使用步骤
使用集合中的方法 iterator()获取迭代器的实现类对象,使用 Iterator 接口接收(多态)使用 Iterator 接口中的方法 hasNext 判断是否有下一个元素使用 Iterator 接口中的方法 next 取出集合中的下一个元素
代码实现
package demoIterator
;
import java
.util
.ArrayList
;
import java
.util
.Collection
;
import java
.util
.Iterator
;
public class demomain {
public static void main(String
[] args
) {
Collection
<String> coll
= new ArrayList<>();
coll
.add("小王");
coll
.add("小明");
coll
.add("小红");
Iterator
<String> it
= coll
.iterator();
boolean b
= it
.hasNext();
System
.out
.println(b
);
String s
= it
.next();
System
.out
.println(s
);
s
= it
.next();
System
.out
.println(s
);
迭代器实现原理
Iterator it = coll.iterator(); 获取迭代器的实现类对象,并且会把指针指向集合的 -1 索引
next() 做了两件事情:1 取出下一个元素 2 会把指针向后移动一位