イテレータは、クライアントにエクスポートされるネストされたクラスです。では、 public ではなく private が宣言されているのはなぜですか? 例えば:
private abstract class HashIterator<E> implements Iterator<E> {
private final class EntryIterator extends HashIterator<Map.Entry<K,V>> {
public Map.Entry<K,V> next() {
return nextEntry();
}
}