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 이 발생합니다.
Continue Learning
Java 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.