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); } } }