티스토리 뷰

JAVA(프로그래밍)

java Enumeration 컬렉션과 Iterator 컬렉션

알 수 없는 사용자 2018. 8. 6. 00:30

java Enumeration 컬렉션과  Iterator 컬렉션

Enumeration, Iterator, ListIterator는 모두 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스입니다.
Enumeration는 Iterator의 구버전이며 요즘에는 Iterator을 더 자주 사용되고 있습니다.

또한 ListIterator는 Iterator의 기능을 업그레이드한 인터페이스입니다.

 

가장 먼저 Enumeration 인터페이스에 대해 알아보겠습니다.

객체의 컬렉션을 사용하다보면 모든 컬렉션의 내용들을 하나씩 읽어올 필요가 있습니다.

참고로 Enumeration은 java.util 패키지에 정의 되어 있습니다.

 

Enumeration

boolean hasMoreElements()
읽어 올 요소가 남아있는지 확인합니다. 읽어 올 요소가 있으면 true, 없으면 false를 반환합니다.

Object nextElement()
아직 비어있지 않다면 일반적인 Object를 반환해 줍니다. nextElement()를 호출하기 전에 hashMoreElement()를 호출해서 읽어 올   요소가 남아있는지 확인이 필요합니다.

 

 

Iterator
----------------------------------------------------------------------------
boolean hasNext()
읽어 올 요소가 남아있는지 확인합니다. 읽어 올 요소가 있으면 true, 없으면 false를 반환합니다.

Object next()
- 다음 요소를 읽어 옵니다. next()를 호출하기 전에 hasNext()를 호출하여 읽어올 요소가 있는지 확인이 필요합니다.

void remove()
- next()로 읽어 온 요소를 삭제합니다. next()를 호출한 다음에 remove()를 호출해야합니다.

 

예제 )

List list = new ArraryList();
Iterator it = list.iterator(); // ArrayList를 iterator로 변경합니다.
while(it.hasNext()){
    it.next()
)

Map map = new HashMap();
Iterator it = map.keySet().iterator; // hashMap을 iterator로 변경합니다.

Set eSet = map.entrySet();
Iterator it = eSet.iterator(); // entrySet을 iterator로 변경합니다.

/**
 *
 * @author lee se jin
 *
 */
public <E> void showgetData(Iterator<E> iterator) {
    while(iterator.hasNext()){
         System.out.println("이터레이터 ->" + iterator.next());    
    }
}

예제소스 처럼 next()메소드를 통하여 객체의 요소들을 읽어올수 있습니다.

 

 

 

 

 

 

댓글