[java] Iterator 인터페이스
Java에서 Iterator 인터페이스는 컬렉션(Collection)의 요소에 접근하고 순회할 수 있는 기능을 제공합니다. Iterator 패턴을 사용하여 컬렉션의 내부 구조를 노출시키지 않고도 요소에 접근할 수 있습니다.
Iterator 인터페이스의 메서드
public interface Iterator<E> {
boolean hasNext(); // 다음 요소가 있는지 확인합니다.
E next(); // 다음 요소를 반환합니다.
void remove(); // 현재 요소를 삭제합니다.
}
Iterator 인터페이스에는 세 가지 메서드가 정의되어 있습니다.
hasNext()
: Iterator가 다음 요소를 가지고 있는지 확인합니다. 다음 요소가 있으면 true를 반환하고, 없으면 false를 반환합니다.next()
: Iterator의 다음 요소를 반환합니다. 다음 요소로 이동한 후, 그 요소를 반환합니다.remove()
: Iterator가 마지막으로 반환한 요소를 삭제합니다. 이 메서드를 호출하기 전에next()
메서드로 요소에 접근한 후에 사용해야 합니다.
Iterator의 사용 예제
import java.util.ArrayList;
import java.util.Iterator;
public class Example {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
fruits.add("사과");
fruits.add("바나나");
fruits.add("수박");
Iterator<String> iterator = fruits.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
System.out.println(fruit);
}
}
}
위 예제에서는 Iterator를 사용하여 ArrayList의 모든 요소를 출력하는 예제입니다. Iterator<String> iterator = fruits.iterator();
를 통해 ArrayList의 Iterator를 얻을 수 있습니다. Iterator를 사용하여 hasNext()
메서드로 다음 요소가 있는지 확인한 후, next()
메서드로 다음 요소를 가져와 출력합니다.
결론
Iterator 인터페이스는 Java에서 컬렉션의 요소에 접근하고 순회하기 위한 표준 인터페이스입니다. Iterator를 사용하여 컬렉션의 내부 구조를 노출시키지 않고도 요소에 접근할 수 있습니다. Iterator를 이용하면 컬렉션의 요소를 효율적으로 처리할 수 있으며, 컬렉션을 순회하면서 요소를 삭제하는 기능도 제공합니다.