PHpullh
학습 라이브러리/Java/for-each와 반복자 패턴

JAVA · 기초 문법

for-each와 반복자 패턴

향상된 for문과 Iterable 인터페이스, Iterator 패턴을 알아봅니다.

기초 문법입문for-eachIteratorIterable반복

핵심 설명

향상된 for문과 Iterable 인터페이스, Iterator 패턴을 알아봅니다.

Java code

import java.util.*;

public class ForEachDemo {
    public static void main(String[] args) {
        List<String> fruits = List.of("사과", "바나나", "체리");

        // for-each (내부적으로 Iterator 사용)
        for (String fruit : fruits) {
            System.out.println(fruit);
        }

        // 인덱스가 필요한 경우
        for (int i = 0; i < fruits.size(); i++) {
            System.out.printf("[%d] %s%n", i, fruits.get(i));
        }

        // Iterator 직접 사용 (삭제 시 필요)
        List<String> mutable = new ArrayList<>(fruits);
        Iterator<String> it = mutable.iterator();
        while (it.hasNext()) {
            if (it.next().startsWith("바")) {
                it.remove(); // 안전한 삭제
            }
        }
        System.out.println(mutable); // [사과, 체리]
    }
}

학습 팁

for-each 중에 컬렉션을 수정하려면 Iterator.remove()를 사용하거나 removeIf()를 활용하세요.

주의할 점

for-each 안에서 list.remove()를 호출하면 ConcurrentModificationException이 발생합니다.

자주 묻는 질문

for-each와 반복자 패턴란 무엇인가요?

향상된 for문과 Iterable 인터페이스, Iterator 패턴을 알아봅니다.

for-each와 반복자 패턴 학습 시 주의할 점은 무엇인가요?

for-each 안에서 list.remove() 를 호출하면 ConcurrentModificationException 이 발생합니다.