이터레이터(iterator)는 다양한 컬렉션을 하나의 인터페이스를 통해 조회하고, 컨테이너의 요소들에 접근하는 디자인 패턴입니다. 이 패턴은 각기 다른 자료구조들을 동일한 인터페이스로 쉽게 순회할 수 있도록 지원합니다. 컨테이너는 동일한 요소들을 저장하는 집합으로, 배열이나 맵 등이 그 예입니다.
import java.util.ArrayList;
import java.util.Iterator;
public class Main
{
public static void main(String[] args)
{
// 컬렉션 생성
ArrayList<String> cookie = new ArrayList<>();
cookie.add("초코송이");
cookie.add("맛동산");
cookie.add("스윙칩");
cookie.add("김부각");
// iterator 획득
Iterator<String> iterator = cookie.iterator();
// while문을 사용한 경우
while(iterator.hasNext())
{
String str = iterator.next();
System.out.println(str);
}
// for-each문을 사용한 경우
for (String str : cookie)
{
System.out.println(str);
}
}
}
위와같이 for-each 와 Iterator 를 사용하여 구현할수 있습니다.