좋은 글을 참고해 작성했습니다 🙂

배열과 컬렉션 순회하기


배열

String[] arr = new String[]{"a", "b", "c"};

for (int index = 0; index < arr.length; index++) {
    String element = arr[index];
    // do something
}

컬렉션(ex. 리스트)

List<String> list = new ArrayList<>();

// 컬렉션을 순회하는 방법 - for loop
for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) {
    String element = iterator.next();
    // do something
}

// 컬렉션을 순회하는 방법 - while loop
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    // do something
}

위 코드에서 iterator와 index 변수는 코드를 지저분하게 만들고 실제로 필요한 원소(element)를 얻기 위한 부수적인 코드일 뿐이다.

잘못된 변수 사용으로 인한 예상치 못한 오류가 발생할 수 있음!

for-each


실제로 필요한 것은 원소(element)이므로 향상된 for문(for-each 문)을 사용하자

반복자와 인덱스 변수를 사용하지 않아 코드가 깔끔하고 잘못된 변수의 사용도 막을 수 있음

for (String element : arr) {
    // element로 무언가를 한다.
}