- 무언가를 할 때 필요한 것이 원소 뿐이라면 인덱스 변수나 반복자들은 기능하는 곳 없이 오류 가능성을 높일 뿐이다. 그럴 때는 for-each 문을 사용하는 편이 낫다. - 그러나 for-each 문을 사용할 수 없는 상황이 세 가지 존재한다. 파괴적인 필터링(destructive filtering) - 컬렉션을 순회하면서 그 컬렉션의 원소를 제거. => ConcurrentModificationException이 발생한다. => Collection의 removeIf 메서드를 사용 public boolean removeIf(Predicate