[Java] Item 58 : 전통적인 for문보다는 for-each문을 사용하라
Effective Java를 읽고 정리한 정리본입니다.
📌 Item 58 : 전통적인 for문보다는 for-each문을 사용하라
🫧 전통적인 for 문의 문제점
- 불필요한 반복자와 인덱스 변수
- 반복자, 인덱스와 같이 쓰이는 요소 종류가 늘어남에 따라 오류 가능성이 높아짐
- 잘못된 변수 사용 시 컴파일러가 잡아준다는 보장을 하지 못함
- 통일화되지 못한 코드 형태 (컬렉션, 배열 등 컨테이너에 의존)
🫧 for-each문의 장점
- 깔끔한 코드 (반복자, 인덱스 변수 사용 x)
- 하나의 관용구로 처리 (컨테이너 독립적)
🫧 for-each문을 사용할 수 없는 상황
- 파괴적 필터링 - 컬렉션을 순회하면서 선택된 원소를 제거해야 하는 경우
- 변형 - 리스트나 배열을 순회하면서 그 원소의 값 일부 혹은 전체를 교체해야 하는 경우
- 병렬 반복 - 여러 컬렉션을 병렬로 순회해야 하는 경우
참고로, for-each문은 Iterable 인터페이스를 구현한 객체라면 무엇이든 순회할 수 있다.