1. 程式人生 > >Java: 迭代器

Java: 迭代器

迭代器

Iterator介面包含4個方法:

public interface Iterator<E>  {
	E next();
	boolean hasNext();
	void remove();
	default void forEachRemaining(Consumer<? super E> action);
}

訪問集合元素

呼叫next方法訪問元素前要呼叫hasNext方法
1

Collection<String> c = ...;
Iterator<String> iter = c.iterator
(); while (iter.hasNext()) { String element = iter.next(); ... }

2 for each迴圈更加簡練,對於實現Iterable介面的物件都可使用,Collection介面擴充套件了Iterable介面

for (String element : c) {
	...
}

迭代器位於兩個元素之間。當呼叫next時,迭代器越過下一個元素,並返回剛剛越過的那個元素的引用。

刪除集合元素

remove方法會刪除上次呼叫next方法時返回的元素。每當要刪除一個元素時,需要越過這個元素,才能刪除它。

//刪除兩個相鄰元素
Iterator<String> it = c.iterator(); it.next(); it.remove(); it.next(); it.remove();