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