JAVA/포스팅

자바 컬렉션 프레임워크 Iterator

짜집퍼박사(짜박) 2023. 11. 18. 00:47

Iterator는 자바 컬렉션 프레임워크에서 컬렉션 요소를 순회하는 데 사용되는 인터페이스입니다. Iterator를 사용하면 컬렉션의 내용에 접근하고 반복(iteration)할 수 있습니다. 이를 통해 컬렉션의 요소를 순차적으로 접근하고 조작할 수 있습니다.

 

주요 메서드

Iterator 인터페이스는 다음과 같은 주요 메서드를 정의하고 있습니다

 

- boolean hasNext(): 다음 요소가 존재하는지 여부를 확인하고, 존재하면 true를 반환합니다.
- E next(): 다음 요소를 반환하고 커서를 다음 위치로 이동합니다. 만약 더 이상 다음 요소가 없으면 NoSuchElementException을 발생시킵니다.
- void remove(): 최근에 반환된 요소를 제거합니다. 일부 컬렉션에서는 이 메서드를 지원하지 않을 수 있습니다.

 

사용 예제

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorExample {
    public static void main(String[] args) {
        // List에 데이터 추가
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");

        // Iterator를 사용하여 리스트 순회
        Iterator<String> iterator = list.iterator();

        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // "Banana"를 만나면 제거
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        // 리스트에서 "Banana" 제거 후 출력
        System.out.println("List after removal:");
        for (String element : list) {
            System.out.println(element);
        }
    }
}

위 예제에서는 ArrayList를 생성하고, iterator() 메서드를 호출하여 리스트의 Iterator를 얻어옵니다. 그리고 while 루프를 통해 hasNext()와 next() 메서드를 사용하여 리스트를 순회하면서 "Banana"를 만나면 해당 요소를 제거하고 나머지를 출력합니다.

Iterator를 사용하는 것은 컬렉션을 안전하게 순회하고 조작하는 표준적인 방법 중 하나입니다.

 

With ChatGPT