hasNext と Next が次のように機能する場合、非常に良い方法のように思えます。
boolean hasNextCalled = false;
boolean hasNext() {
hasNextCalled = true
}
next() {
assert hasNextCalled
}
このようにして、NoSuchElementException() が発生するようなケースに遭遇することはありません。hasNext() 呼び出しが強制されない実用的な理由はありますか?