자바에서 for each 반복문은 어떻게 동작하나요?

조회수 2717회
List<String> someList = new ArrayList<String>();
// add "monkey", "donkey", "skeleton key" to someList
for (String item : someList) {
    System.out.println(item);
}

for each문을 사용하지 않고 for문을 사용해서 동일하게 정의할 수 있나요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    for(Iterator<String> i = someList.iterator(); i.hasNext(); ) {
        String item = i.next();
        System.out.println(item);
    }
    

    만약 반복문에서 i.remove();를 사용하거나 실제 iterator에 접근하기를 원한다변 for( : ) 명령문은 사용할 수 없습니다.

    이 소스코드는 Iterable interface를 구현한 어떠한 객체에 대해서도 동작 가능합니다.

    또한, for( : )문에서 오른쪽 입력이 Itaerable 객체가 아닌 array이다면, 내부 소스코드는 int 타입의 인덱스 카운터를 사용해서 array.length를 체크합니다. 자바 스펙을 확인해보세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)