Collections 초급

변경 루프 대신 컬렉션 일괄 연산

컬렉션을 직접 변환하려면 removeIf(), replaceAll(), List.sort()를 사용합니다.

✕ Iterator mutation loop
for (Iterator<Order> it = orders.iterator(); it.hasNext();) {
    if (it.next().cancelled()) {
        it.remove();
    }
}
✓ Java 8+
orders.removeIf(Order::cancelled);
이 코드에 문제가 있나요? 알려주세요.
👁

명확한 의도

반복 방법이 아니라 무엇을 변경하는지 연산 자체가 설명합니다.

🐛

더 안전한 변경

반복자에서 직접 제거할 때 지켜야 하는 규칙을 피합니다.

⚡

더 적은 코드

일반적인 변환이 하나의 표현식으로 줄어듭니다.

이전 방식
수동 반복자 제거
모던 방식
Collection.removeIf()
JDK 버전
8
난이도
초급
변경 루프 대신 컬렉션 일괄 연산
사용 가능

JDK 8 (2014년 3월) 이후 사용 가능

모던 컬렉션 인터페이스는 일반적인 변경 연산을 직접 제공합니다. removeIf(), replaceAll(), List.sort() 같은 메서드는 제어 흐름이 복잡한 루프를 의도한 변환을 명시하는 연산으로 대체합니다.