Iterator
Example - Iterating through collection
interface Iterator<T> {
boolean hasNext();
T getNext();
}
class IteratorImpl<T> implements Iterator {
private java.util.Iterator<T> values;
public IteratorImpl(List<T> values) {
this.values = values.iterator();
}
public boolean hasNext() {
return values.hasNext();
}
public T getNext() {
return values.next();
}
}
// we could add Iterable interface and would define iterator() method
class UserCollection {
private List<User> users = new ArrayList<>();
public void add(User user) {
users.add(user);
}
public Iterator<User> iterator() {
return new IteratorImpl<>(users);
}
}
class User {
private String name;
public User(String name) {
this.name = name;
}
public String toString() {
return name;
}
}Example - Accessing database rows
Last updated