좋은 글을 참고해 작성했습니다 🙂
배열
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)를 얻기 위한 부수적인 코드일 뿐이다.
잘못된 변수 사용으로 인한 예상치 못한 오류가 발생할 수 있음!
실제로 필요한 것은 원소(element)이므로 향상된 for문
(for-each 문)을 사용하자
반복자와 인덱스 변수를 사용하지 않아 코드가 깔끔하고 잘못된 변수의 사용도 막을 수 있음
for (String element : arr) {
// element로 무언가를 한다.
}