[Effective Java 3/e] 아이템 58 - 전통적인 for 문보다는 for-each 문을 사용하라
아이템 58 - 전통적인 for 문보다는 for-each 문을 사용하라
for-each 문의 장점
- 반복자와 인덱스 변수를 사용하지 않아 코드가 깔끔해지고 오류가 날 일이 없다.
- 중첩 된 for 문 사용 시 효과가 더 좋아짐
for-each 문을 사용할 수 없는 경우
- 파괴적인 필터링 - 컬렉션을 순회하면서 선택된 원소를 제거하는 경우
- 자바 8부터 removeIf 로 가능
- 변형 - 컬렉션 원소의 값 일부 혹은 전체를 교체하는 경우
- 병렬 반복 - 여러 컬렉션을 병렬로 순회해야 하면 각각의 반복자와 인덱스 변수를 사용해 제어해야 한다.
정리
- for-each 문은 명료하고, 유연하고, 버그를 예방해주고, 성능 저하도 없다.
- 가능한 모든 곳에 for 문이 아닌 for-each 문을 사용하자.