Iterator เป็น ListIterator ระดับสูง
นี่คือความแตกต่างระหว่างพวกเขา:
- ด้วย
iterator
คุณสามารถไปข้างหน้าเท่านั้น แต่ด้วยListIterator
คุณสามารถย้าย backword ในขณะที่อ่านองค์ประกอบ
- ด้วย
ListIterator
คุณสามารถได้รับดัชนี ณ จุดใด ๆ ในขณะที่ข้ามไปซึ่งเป็นไปไม่ได้กับiterator
s
- ด้วย
iterator
คุณสามารถตรวจสอบเฉพาะองค์ประกอบต่อไปที่มีอยู่หรือไม่ แต่ในlistiterator
คุณสามารถตรวจสอบองค์ประกอบก่อนหน้าและถัดไป
- ด้วย
listiterator
คุณสามารถเพิ่มองค์ประกอบใหม่ได้ตลอดเวลาในขณะที่การเดินทาง iterator
ไม่ได้กับ
- ด้วย
listiterator
คุณสามารถปรับเปลี่ยนองค์ประกอบในขณะที่ traversing iterator
ซึ่งเป็นไปไม่ได้กับ
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
}