Iterable and Iterator
两个接口, 很简单。
两个接口, 很简单。
/**
* Iterable is an interface allows an objefct to be the target of the
* "foreach" statement
*
*/
public interface Iterable<T>{
//return an iterator over a set of elements of type T
Iterator<T> iterator();
}
/**
* Iterator is a interface to implements an iterator over a collection
*
*/
public interface Iterator<E> {
//return true if the iterator has more elements
boolean hasNext();
//returns the next element in the iterator
// throws NoSuchElementException if the iterator has no more elements
E next();
/* Removes from the underlying collection the last element returned
* by this iterator (optional operation). This method can be called
* only once per call to {@link #next}. The behavior of an iterator
* is unspecified if the underlying collection is modified while the
* iteration is in progress in any way other than by calling this
* method.
* 没看懂
*/
void remove();
}