Iterator는 ListIterator의 수퍼 클래스입니다.
차이점은 다음과 같습니다.
- 를 사용
iterator
하면 앞으로 만 이동할 수 있지만 ListIterator
요소를 읽는 동안 백 워드를 이동할 수도 있습니다.
- 를 사용
ListIterator
하면 이송 중에 언제라도 인덱스를 얻을 수 있습니다 iterator
. s 로는 불가능합니다 .
- 사용
iterator
가능한 다음 요소 만 확인할 수 있지만 listiterator
이전 및 다음 요소는 확인할 수 있습니다.
- 를 사용
listiterator
하면 이송하는 동안 언제든지 새로운 요소를 추가 할 수 있습니다. 로 사용할 수 없습니다 iterator
.
- 를 사용
listiterator
하여 이송하는 동안 요소를 수정할 수 있습니다 iterator
.
반복기 모양과 느낌 :
public interface Iterator<E> {
boolean hasNext();
E next();
void remove(); //optional-->use only once with next(),
dont use it when u use for:each
}
ListIterator 모양과 느낌 :
public interface ListIterator<E> extends Iterator<E> {
boolean hasNext();
E next();
boolean hasPrevious();
E previous();
int nextIndex();
int previousIndex();
void remove(); //optional
void set(E e); //optional
void add(E e); //optional
}