Computer Science/DataStructure

ListIterator와 Enumeration

자바의정석 3rd Edition 2권을 참조하였습니다.

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76083001 

 

Java의 정석

저자는 자바를 소개하는데 그치지 않고 프로그래머로써 꼭 알아야하는 내용들을 체계적으로 정리하였으며 200페이지에 달하는 지면을 객체지향개념에 할애함으로써 이 책 한 권이면 객체지향

www.aladin.co.kr

 

 

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