콘텐츠로 건너뛰기

for-each 루프문

# for-each 루프문

자바 1.5 배포판 이후에 제공하는 for-each 루프는 순환자나 인덱스 변수를 감춤으로써

에러의 가능성을 제거시켜준다.

// AS-IS :
for (int i = 0; i < a.length; i++) {
    doSomething(a[i]);
}

// TO-BE :
for (Element e : elements) {
    doSomething(e);
}

성능의 저하는 없고, 코드가 깔끔하게 바뀌기 때문에 가독성이 좋아진다.

for-each 루프는 컬렉션과 배열에 대한 반복 처리는 물론 모든 iterator 객체에서 사용 가능하다.

하지만 인덱스를 반드시 써야 하는 상황에서는 for-each를 사용할 수 없다.

(예 : 필터링, 변환, 병행반복처리)

public Map createMapForMock(String … keys) {
    Map resultMap = new HashMap();
    Map exampleMap = getExampleMap();
    for (String key : keys) {
        resultMap.put(key, exampleMap.get(key));
    }
    return resultMap;
}


출처 : Head First Java, Effective Java, 인터넷

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다