[java] Enumeration, Iterator, ListIterator

sesame·2021년 8월 4일
0

Java

목록 보기
20/25

Enumeration, Iterator, ListIterator

컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스

Iterator: 단방향만 이동

컬렉션 프레임워크에서는 컬렉션에 저장된 각 요소에 접근하는 기능을 가진 Iterator 인터페이스를 정의하고, 컬렉션 인터페이스에서는 Iterator를 반환하는 iterator()을 정의하고 있다.
List나 Set 인터페이스를 구현하는 컬렉션에는 iterator()가 컬렉션의 특징에 맞게 작성되어있지만 Map 인터페이스를 구현하는 컬렉션은 키와 값으로 저장하고 있기 때문에 iterator()을 직접 호출할 수 없고, 대신 keySet()이나 entrySet()의 메소드를 이용해서 키와 값 따로 Set 형태로 얻어온 후 다시 iterator()을 호출해야 사용할 수 있다.

Map map = new HashMap();
Iterator iter = map.keySet().iterator();

🚨list는 저장순서 유지하기 때문에 Iterator 통해 읽어온 결과도 저장순서와 동일
Set은 저장순서 유지되지 않기 때문에 Iterator 통해 읽어온 결과가 처음에 저장된 순서와 같지 않음

Enumeration

Iterator의 구버전

ListIterator

Iterator를 상속받아 양방향 특징, 이동하기 전에 반드시 hashNext()나 hasPrevious()를 호출해서 이동할 수 있는지 확인해야한다.

0개의 댓글

관련 채용 정보