1、java.util.Iterator
java
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不一样:ide
迭代器容许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。spa
方法名称获得了改进。code
import java.util.Iterator; public class IteratorTest implements Iterator{ @Override public boolean hasNext() { // 若是仍有元素能够迭代,则返回 true。 return false; } @Override public Object next() { // 返回迭代的下一个元素。 return null; } @Override public void remove() { //从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操做)。 //每次调用 next 只能调用一次此方法。 } }
其中:rem
Object next():返回迭代器刚越过的元素的引用,返回值是Object,须要强制转换成本身须要的类型it
boolean hasNext():判断容器内是否还有可供访问的元素io
void remove():删除迭代器刚越过的元素for循环
对于咱们而言,咱们只通常只需使用next()、hasNext()两个方法便可完成迭代class
2、迭代器的使用import
public class IteratorTest { public static void main(String[] args) { List list = new ArrayList(); list.add("tom"); list.add("jack"); list.add("jim"); //迭代器用于for循环 for (Iterator iter = list.iterator(); iter.hasNext();) { String str = (String)iter.next(); System.out.println(str); } //迭代器用于while循环 Iterator iterator = list.iterator(); while(iterator.hasNext()){ String str = (String) iterator.next(); System.out.println(str); } } }