//iterator.hasNext() 和 iterator.next() 的使用举例
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExample {
public static void main(String[] args) {
// Create an ArrayList of strings
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// Create an iterator for the ArrayList
Iterator<String> iterator = list.iterator();
// Iterate over the ArrayList using the iterator
while (iterator.hasNext()) {
// Get the next element from the iterator
String element = iterator.next();
System.out.println(element);
}
}
}
hasNext() 和 next()的具体实现(往往捆绑使用)
public class CustomIterator<T> implements Iterator<T> {
private T[] elements;
private int currentIndex;
public CustomIterator(T[] elements) {
this.elements = elements;
this.currentIndex = 0;
}
@Override
public boolean hasNext() {
return currentIndex < elements.length;
}
@Override
public T next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
T element = elements[currentIndex];
currentIndex++;
return element;
}
// Other methods of the Iterator interface (remove) can be implemented here
}
*hasNext()的起始index 为 0, 每call一次next() index 都会+1