Iterator adalah kelas super ListIterator.
Inilah perbedaan di antara mereka:
- Dengan
iteratorAnda hanya dapat bergerak maju, tetapi dengan ListIteratorAnda dapat memindahkan kata kunci juga saat membaca elemen.
- Dengan
ListIteratorAnda dapat memperoleh indeks di titik mana pun saat melintasi, yang tidak mungkin dilakukan dengan iterators.
- Dengan
iteratorAnda dapat memeriksa hanya untuk elemen berikutnya yang tersedia atau tidak, tetapi di dalam listiteratorAnda dapat memeriksa elemen sebelumnya dan berikutnya.
- Dengan
listiteratorAnda dapat menambahkan elemen baru kapan saja, sambil melintasi. Tidak mungkin dengan iterator.
- Dengan
listiteratorAnda dapat memodifikasi elemen saat melintasi, yang tidak mungkin dilakukan dengan iterator.
Iterator terlihat dan terasa:
public interface Iterator<E> {
boolean hasNext();
E next();
void remove(); //optional-->use only once with next(),
dont use it when u use for:each
}
Tampilan dan nuansa 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
}