Iterator là siêu hạng của ListIterator.
Dưới đây là sự khác biệt giữa chúng:
- Với
iterator
bạ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
ListIterator
bạ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
iterator
bạ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
listiterator
bạ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
listiterator
bạ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
}