Java Iterator迭代器的用法(附带实例)
在程序开发中经常需要遍历集合中的所有元素,针对这种需求,JDK 专门提供了接口 java.util.Iterator。Iterator 接口也是 Java 集合中的一员。
Iterator 接口与 Collection 接口有所不同。Iterator 接口被称为迭代器接口,本身并不具有存储对象的能力,主要用于遍历集合中的元素。Collection 接口主要用于存储元素。
Collection 接口继承了 java.lang.Iterable 接口,该接口有一个 iterator() 方法。所有实现了 Collection 接口的集合都有一个 iterator() 方法,用以返回一个实现了 Iterator 接口的对象:
Iterator 接口的常用方法如下:
【实例 1】创建集合,实现对集合的遍历,代码如下:
注意,在调用 next() 方法之前必须调用 hasNext() 方法进行检测。若不调用,且下一条记录无效,则直接调用 next() 方法会抛出 NoSuchElementException 异常。
Iterator 接口与 Collection 接口有所不同。Iterator 接口被称为迭代器接口,本身并不具有存储对象的能力,主要用于遍历集合中的元素。Collection 接口主要用于存储元素。
Collection 接口继承了 java.lang.Iterable 接口,该接口有一个 iterator() 方法。所有实现了 Collection 接口的集合都有一个 iterator() 方法,用以返回一个实现了 Iterator 接口的对象:
- public Iterator iterator():获取集合对应的迭代器,用来遍历集合中的元素;
- 在集合中,每次调用 iterator() 方法都能得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。
Iterator 接口的常用方法如下:
- public E next():返回迭代的下一个元素。
- public boolean hasNext():若仍有元素可以迭代,则返回 true。
【实例 1】创建集合,实现对集合的遍历,代码如下:
import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionDemo { public static void main(String[] args) { CollectionDemo collectionDemo = new CollectionDemo(); collectionDemo.testIterator(); } public void testIterator() { Collection collection = new ArrayList(); collection.add("画画"); collection.add("花花"); collection.add("哈哈"); // 获取迭代器 Iterator iterator = collection.iterator(); // 使用迭代器遍历集合 while (iterator.hasNext()) { System.out.println(iterator.next()); } } }在上述代码中,调用 iterator() 方法可以实现对集合的遍历;调用 hasNext() 方法判断是否有元素可以遍历,若有则返回 true;调用 next() 方法返回迭代的下一个元素。
注意,在调用 next() 方法之前必须调用 hasNext() 方法进行检测。若不调用,且下一条记录无效,则直接调用 next() 方法会抛出 NoSuchElementException 异常。