컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할
Collection 인터페이스에 정의된 iterator()를 호출하면, Iterator 타입의 인스턴스가 반환
Collection 인터페이스를 상속받는 List와 Set 인터페이스를 구현한 클래스들은 iterator() 메서드를 사용할 수 있다.
iterator()를 통해 만들어진 인스턴스는 아래의 메서드를 사용할 수 있다.
hasNext() 메서드는 읽어올 다음 객체가 있으면, true를 리턴하고, 더 이상 가져올 객체가 없으면 false를 리턴한다. 따라서 true가 리턴될 때에만 next()메서드가 동작하도록 코드를 작성해야 한다.
public static void main(String[] args) throws IOException {
ArrayList<String> list = new ArrayList<>();
list.add("0");
list.add("1");
list.add("2");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) { // 읽어올 다음 객체가 있다면
String str = iterator.next(); // next()를 통해 다음 객체를 읽어옵니다.
System.out.println(str);
}
}
0
1
2