242/243lterator接口介绍和迭代器的代码实现
Lterator接口介绍
在程序开发中J经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口
java.util.Iterator 。(Iterator 接口也是Java集合中的一员,但它与collection、(Map接口有所不同collection接口与Map接口主要用于存储元素,而Iterator 主要用于迭代访问(即遍历) collection 中的元 素,因此 Iterator 对象也被称为迭代器。
想要遍历Collection集合,那么就要获取该集合迭代器完成迭代操作,下面介绍一下获取迭代器的方法
public Iterator iterator():获取集合对应的迭代器,用来遍历集合中的元素的。、
下面介绍一下迭代的概念︰
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。
lterator接口的常用方法如下:
public E next():返回迭代的下一个元素。
public boolean hasNext():如果仍有元素可以迭代,则返回true。
java.util.iterator接口:迭代器(对集合进行遍历)有两个常用的方法
boolean hasNext(如果仍有元素可以迭代,则返回true。
判断集合中还有没有下一个元素,
有就返回true,没有就返回falseE next())返回迭代的下一个元素。
取出集合中的下一个元素
Iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊collection接口中有一个方法,叫iterator(),这个方法返回的就是迭代器的实现类对象
Iterator<E> iterator()返回在此 collection 的元素上进行迭代的迭代器。
迭代器的使用步骤(重点):
1.使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
2.使用Iterator接口中的方法hasNext半断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合中的下一个元素l
迭代器的代码实现
public static void main(String[] args) {
//创建一个集合对象
Collection<String> coll = new ArrayList<>();//往集合中添加元素
coll.add("我是乐迪");
coll.add("我是卢本伟");
coll.add("我是梁志超");
coll.add("↑他奶奶");
coll.add("我是你六舅");
//使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
// 注意:
//Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
//多态接口
Iterator<String> it = coll.iterator();
while (it.hasNext()){
String e = it.next();
System.out.println(e);
}
System.out.println("----------");
for(Iterator<String> it2 = coll.iterator();it2.hasNext()){
String next = it2.next();
System.out.println(next);
}public static void main(String[] args) {
//创建一个集合对象
Collection<String> coll = new ArrayList<>();
//往集合中添加元素
coll.add("我是乐迪");
coll.add("卢本伟");
coll.add("梁志超");
coll.add("我是你六舅");
coll.add("我是小齐子");
//使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
// 注意:
//Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
//多态接口
Iterator<String> it = coll.iterator();
//2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
boolean b = it.hasNext();
System.out.println(b);
//i/3.使用Iterator接口中的方法next取出集合中的下一个元素
String s = it.next();
System.out.println(s);
b = it.hasNext();
System.out.println(b);
s= it.next();
System.out.println(s);
b = it.hasNext();
System.out.println(b);
s= it.next();
System.out.println(s);
b = it.hasNext();
System.out.println(b);
s= it.next();
System.out.println(s);
b = it.hasNext();
System.out.println(b);
s= it.next();
System.out.println(s);
}