Iterator là siêu hạng của ListIterator.
Dưới đây là sự khác biệt giữa chúng:
- Với
iteratorbạn chỉ có thể di chuyển về phía trước, nhưng vớiListIterator bạn có thể di chuyển backword trong khi đọc các yếu tố.
- Với
ListIteratorbạn có thể có được chỉ mục tại bất kỳ điểm nào trong khi di chuyển ngang, điều này là không thể vớiiterator s.
- Với
iteratorbạn chỉ có thể kiểm tra phần tử tiếp theo có sẵn hay không, nhưng tronglistiterator bạn có thể kiểm tra các yếu tố trước và tiếp theo.
- Với
listiteratorbạn có thể thêm yếu tố mới tại bất kỳ thời điểm nào, trong khi di chuyển ngang. Không thể vớiiterator .
- Với
listiteratorbạn có thể sửa đổi một yếu tố trong khi di chuyển ngang, điều này là không thể iterator.
Iterator nhìn và cảm nhận:
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 nhìn và cảm nhận:
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
}