[도입]
Iterator는 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스이다. 컬렉션 프레임워크에서 Collections 인터페이스에 Iterator 객체를 반환하는 iterator()를 정의함으로써 컬렉션에 저장된 요소들을 표준화하였다.
public interface Iterator {
boolean hasNext(); // 읽어 올 요소가 남아있는지 확인한다.
Object next(); // 다음 요소를 읽어 온다.
void remove(); // next()로 읽어 온 요소를 삭제한다.
}
[실습]
예제
ArrayList list = new ArrayList();
list.add("1"); list.add("2"); list.add("3");
Iterator it = list.iterator();
while(it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
예제2
Map 인터페이스를 구현한 컬렉션 클래스의 경우 iterator()를 직접 호출 할 수 없다. key와 values로 구성되어 있기 때문인데, 따라서 반복 접근할 요소를 지정해주어야 한다.
Map map = new HashMap();
Iterator iterator = map.entrySet().iterator();
Set set = map.keySet();
Iterator it = set.iterator();