Java에서는 컬렉션 요소를 순회하고 접근하기 위한 Iterator 인터페이스를 제공합니다. Iterator를 사용하면 컬렉션 내의 요소를 순차적으로 접근하고 조작할 수 있습니다. 이번 글에서는 Java의 Iterator 인터페이스에 대해 상세히 알아보고, 실제 예시를 통해 사용 방법을 설명하겠습니다.
Iterator 인터페이스는 java.util 패키지에 속한 인터페이스로, 컬렉션 요소의 순회를 위한 메서드를 정의합니다. Iterator 인터페이스는 다음과 같은 주요 메서드를 제공합니다.
Iterator 인터페이스는 컬렉션에 의존하지 않고 독립적으로 동작합니다. 아래 예시를 통해 Iterator의 사용 방법을 자세히 알아보겠습니다.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// Iterator 객체 생성
Iterator<String> iterator = names.iterator();
// hasNext()와 next()를 사용한 요소 순회
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
// remove()를 사용한 요소 삭제
iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
if (name.equals("Bob")) {
iterator.remove();
}
}
// 삭제 후 요소 순회
iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
}
}
위의 예시에서는 ArrayList를 사용하여 List 객체를 생성하고, Iterator 인터페이스를 활용하여 컬렉션의 요소를 순회합니다. iterator() 메서드를 사용하여 Iterator 객체를 생성하고, hasNext()와 next() 메서드를 사용하여 다음 요소를 확인하고 반환합니다. 또한, remove() 메서드를 사용하여 특정 요소를 삭제합니다.
실행 결과는 다음과 같습니다:
Alice
Bob
Charlie
Alice
Charlie
Java의 Iterator 인터페이스는 컬렉션 요소의 순회를 위한 메서드를 정의하여 데이터에 독립적으로 접근하고 조작할 수 있게 해줍니다. Iterator 인터페이스를 활용하여 컬렉션 내의 요소를 순차적으로 접근하고 삭제할 수 있습니다. 이를 활용하여 데이터의 순회 및 조작을 효율적으로 수행할 수 있습니다.