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

조회수 1943회
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를 체크합니다. 자바 스펙을 확인해보세요.

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

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.