자바의정석 3rd Edition 2권을 참조하였습니다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76083001
Enumeration은 컬렉션 프레임워크가 만들어지기 이전에 사용하던 것으로 Iterator의 구버전이라고 생각하면 된다.
이전 버전으로 작성된 소스와의 호환을 위해서 남겨 두고 있을 뿐이므로 가능하면 Enumeration대신 Iterator를 사용하자.
ListIterator는 Iterator를 상속받아서 기능을 추가한 것으로,
컬렉셩늬 요소에 접근할 때 Iterator는 단방향으로만 이동할 수 있는 데 반해 ListIterator는 양방향으로의 이동이 가능하다.
다만, ArrayList나 LinkedList와 같이 List 인터페이스를 구현한 컬렉션에서만 사용할 수 있다.
더보기
Enumeration Iterator의 구버전
ListIterator Iterator에 양방향 조회기능추가(List를 구현한 경우에만 사용가능)
package kr.co.dong.datastructure;
import java.util.*;
public class ListIteratorEx1 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
ListIterator it = list.listIterator();
while(it.hasNext()) {
System.out.println(it.next()); // 순방향으로 진행하면서 읽어온다.
}
System.out.println();
while(it.hasPrevious()) {
System.out.println(it.previous()); // 역방향으로 진행하면서 읽어온다.
}
System.out.println();
}
}
'Computer Science > DataStructure' 카테고리의 다른 글
Arrays (0) | 2022.11.15 |
---|---|
Iterator with Vector (0) | 2022.11.14 |
Iterator (0) | 2022.11.14 |
Array (0) | 2021.06.09 |
Implement Linked List (0) | 2021.04.26 |