순회2 - 향상된 for문

2024. 6. 21. 15:36김영한 Java/컬렉션 프레임워크

Iterable과 향상된 for문(Enhanced For Loop)

Iterable, Iterator를 사용하면 또 하나의 큰 장점을 얻을 수 있다. 다음 코드를 보자.

 

System.out.println("for - each 사용");
        for(int value : myArray){
            System.out.println("value = " + value);
        }

 

실행 결과

for - each 사용
value = 1
value = 2
value = 3
value = 4

 

for-each문으로 불리는 향상된 for문은 자료 구조를 순회하는 것이 목적이다.

자바는 Iterable 인터페이스를 구현한 객체에 대해서 향상된 for문을 사용할 수 있게 해준다.

for(int value : myArray){
            System.out.println("value = " + value);
        }

이렇게 하면 자바는 컴파일 시점에 다음과 같이 코드를 변경한다.

while (iterator.hasNext()){
            Integer value = iterator.next();
            System.out.println("value = " + value);
        }

따라서 두 코드는 같은 코드이다. 물론 모든 데이터를 순회한다면 둘 중에 깔끔한 향상된 for문을 사용하는 것이 좋다.