Javadoc для ListIterator каже:
A
ListIteratorне має поточного елемента; його курсорне положення завжди лежить між елементом, до якого буде повернуто виклик,previous()і елементом, до якого буде повернуто викликnext().
Чому Java була ListIteratorреалізована для вказівки між елементами, а не на поточному елементі? Здається , що це робить код клієнта менш читабельним , коли він повинен повторно дзвонити getNext(), getPrevious(), тому я вважаю , що має бути вагомі підстави для вибору.
В якості примітки, я просто написав мало - бібліотека під назвою peekable-ArrayList , який проходить ArrayList, Iteratorі ListIteratorщо забезпечує peekAtNext()і peekAtPrevious()методи реалізовані як:
@Override public synchronized T peekAtNext() {
T t = next();
previous();
return t;
}