Iterator เป็นอินเทอร์เฟซใน Java ใช้วนลูปเข้าถึงสมาชิกในลิสต์ได้เฉพาะ ทิศทางไปข้างหน้า (forward) ส่วน ListIterator เป็นอินเทอร์เฟซที่ขยายจาก Iterator สามารถวนลูปได้ ทั้งไปข้างหน้าและถอยหลัง (backward)
Iterator ใช้ได้กับคอลเลกชันแบบ List, Set, Queue ส่วน ListIterator ใช้ได้กับ List เท่านั้น เมธอดสำคัญของ Iterator ได้แก่ hasNext(), next(), remove() ในขณะที่ ListIterator มี add(), hasNext(), hasPrevious(), remove()
ไวยากรณ์ Iterator
public interface Iterator<E>
ตัวอย่าง Iterator
import java.util.*;
public class IteratorTest {
public static void main(String[] args) {
List<String> listObject = new ArrayList<String>();
listObject.add("India");
listObject.add("Australia");
listObject.add("England");
listObject.add("Bangladesh");
listObject.add("South Africa");
Iterator it = listObject.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
ผลลัพธ์
India Australia England Bangladesh South Africa
ไวยากรณ์ ListIterator
public interface ListIterator<E> extends Iterator<E>
ตัวอย่าง ListIterator
import java.util.*;
public class ListIteratorTest {
public static void main(String[] args) {
List<String> listObject = new ArrayList<String>();
listObject.add("Java");
listObject.add("Selenium");
listObject.add("Python");
listObject.add("Java Script");
listObject.add("Cloud Computing");
ListIterator it = listObject.listIterator();
System.out.println("Iterating the elements in forward direction: ");
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println("--------------------------------------------");
System.out.println("Iterating the elements in backward direction: ");
while (it.hasPrevious()) {
System.out.println(it.previous());
}
}
}
ผลลัพธ์
Iterating the elements in forward direction: Java Selenium Python Java Script Cloud Computing ----------------------------------------------- Iterating the elements in backward direction: Cloud Computing Java Script Python Selenium Java