Iterator의 기능을 확장(상속)
컬렉션 내의 요소를 순차적으로 탐색하는 데 사용됩니다.
이전 요소로 다시 돌아갈 수 없고, 컬렉션 내의 요소를 수정할 수 없습니다.
순방향(forward)으로만 순회할 수 있습니다.
컬렉션 인터페이스에서 제공됩니다.
리스트(List) 인터페이스에서 파생된 인터페이스로, 리스트를 순회하고 수정하는 데 사용됩니다.
이전 요소로 돌아갈 수 있고, 순방향과 역방향으로 순회할 수 있습니다.
컬렉션 내의 요소를 수정하고 삭제할 수 있습니다.
리스트 인터페이스에서 제공됩니다.
반복자는 요소를 읽을 때 사용되며, 리스트반복자는 요소를 읽을 뿐만 아니라 수정 및 삭제도 가능합니다. 따라서 요소의 순회만 필요한 경우에는 반복자를 사용하고, 요소의 수정이나 삭제가 필요한 경우에는 리스트반복자를 사용하는 것이 적합합니다.
import java.util.*;
public class ex06_ListIterator {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
ListIterator<String> it = list.listIterator();
//순방향, 역방향 모두 가능
while(it.hasNext()) {
System.out.print(it.next() + " "); // 순방향으로 진행하면서 읽어온다.
}
System.out.println();
while(it.hasPrevious()) {
System.out.print(it.previous()+ " "); // 역방향으로 진행하면서 읽어온다.
}
System.out.println();
}
}