**
Iterator迭代器的使用
**
迭代:Iterator,即collection集合元素的通用获取方式
java.util.Iterator接口。迭代器(对集合进行遍历)
有两个常用的方法
Boolean hasNext()如果仍有元素可以迭代,则返回true
判断集合中还有没有下一个元素,有就返回true,没有就返回false
E next()返回迭代的下一个元素
取出集合中的下一个元素
Iterator迭代器,是一个接口,我们无法直接使用,需要Iterator接口的实现类对象,获取实现类的方式比较特殊
Collection接口中有一个方法,叫Iterator(),这个方法返回的就是迭代器的实现类对象
Iterator iterator()返回在此collection的元素上进行迭代的迭代器
迭代器的使用步骤(重点)
1、使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
3、使用Iterator接口中的方法next取出集合中的下一个元素
package Iterator;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo01Collection {
public static void main(String[] args) {
//创建一个集合对象
Collection<String> coll=new ArrayList<>();
coll.add("星星");
coll.add("仰望星空");
coll.add("最美的太阳");
coll.add("这就是爱");
//1、使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
//Iterator<E>的接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
//多态 接口 实现类对象
Iterator<String> it=coll.iterator();
//发现使用迭代器取出集合中元素的代码是一个重复的过程
//所以我们可以使用循环优化
//不知道集合中有多少元素,使用while集合
//循环结束的条件,hasNext方法返回false
while (it.hasNext()){
String e=it.next();
System.out.println(e);
}
// //2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
// boolean b=it.hasNext();
// System.out.println(b);//true
//
// // 3、使用Iterator接口中的方法next取出集合中的下一个元素
// String s=it.next();
// System.out.println(s);
//
// //2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
// b=it.hasNext();
// System.out.println(b);//true
// // 3、使用Iterator接口中的方法next取出集合中的下一个元素
// s=it.next();
// System.out.println(s);
// 2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
// b=it.hasNext();
// System.out.println(b);//true
// // 3、使用Iterator接口中的方法next取出集合中的下一个元素
// s=it.next();
// System.out.println(s);
// 2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
// b=it.hasNext();
// System.out.println(b);//true
// // 3、使用Iterator接口中的方法next取出集合中的下一个元素
// s=it.next();
// System.out.println(s);
//
// b=it.hasNext();
System.out.println(b);没有元素,返回false
// 3、使用Iterator接口中的方法next取出集合中的下一个元素
s=it.next();没有元素,在取出元素会抛出NoSuchElementException没有元素异常
System.out.println(s);
}
}