Iterator adalah kelas super ListIterator.
Inilah perbedaan di antara mereka:
- Dengan
iterator
Anda hanya dapat bergerak maju, tetapi dengan ListIterator
Anda dapat memindahkan kata kunci juga saat membaca elemen.
- Dengan
ListIterator
Anda dapat memperoleh indeks di titik mana pun saat melintasi, yang tidak mungkin dilakukan dengan iterator
s.
- Dengan
iterator
Anda dapat memeriksa hanya untuk elemen berikutnya yang tersedia atau tidak, tetapi di dalam listiterator
Anda dapat memeriksa elemen sebelumnya dan berikutnya.
- Dengan
listiterator
Anda dapat menambahkan elemen baru kapan saja, sambil melintasi. Tidak mungkin dengan iterator
.
- Dengan
listiterator
Anda 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
}