Effective Java를 읽고 정리한 정리본입니다.

📌 Item 58 : 전통적인 for문보다는 for-each문을 사용하라

🫧 전통적인 for 문의 문제점

  1. 불필요한 반복자와 인덱스 변수
  2. 반복자, 인덱스와 같이 쓰이는 요소 종류가 늘어남에 따라 오류 가능성이 높아짐
  3. 잘못된 변수 사용 시 컴파일러가 잡아준다는 보장을 하지 못함
  4. 통일화되지 못한 코드 형태 (컬렉션, 배열 등 컨테이너에 의존)

🫧 for-each문의 장점

  1. 깔끔한 코드 (반복자, 인덱스 변수 사용 x)
  2. 하나의 관용구로 처리 (컨테이너 독립적)

🫧 for-each문을 사용할 수 없는 상황

  1. 파괴적 필터링 - 컬렉션을 순회하면서 선택된 원소를 제거해야 하는 경우
  2. 변형 - 리스트나 배열을 순회하면서 그 원소의 값 일부 혹은 전체를 교체해야 하는 경우
  3. 병렬 반복 - 여러 컬렉션을 병렬로 순회해야 하는 경우

참고로, for-each문은 Iterable 인터페이스를 구현한 객체라면 무엇이든 순회할 수 있다.