자바 foreach문 사용법
foreach(For-each)문은 for, while, do-while 반복문과 같은 배열 탐색 기법입니다.
사용방법은 다음과 같습니다.
☞ 일반적인 for 반복문과 동일하게 for 키워드를 사용합니다.
☞ 반복문 내에 카운터 변수를 선언하고 콜론(:) 다음 배열이름을 순서대로 선언합니다.
☞ 일반적으로 배열이나 Collection 클래스(ArrayList ... 등)를 반복하는 데 사용됩니다.
※ 구문(Syntax)
일반적으로 배열을 탐색할 때 다음과 같이 for 반복문을 사용합니다.
int[] arr = {0, 1, 2, 3, 4};
for (int i = 0; i < 5; i++) {
System.out.println(arr[i]); // 0 1 2 3 4 출력
}
위 반복문을 foreach 반복문으로 다음과 같이 표현할 수 있습니다.
int[] arr = {0, 1, 2, 3, 4};
for (int i : arr) {
System.out.println(arr[i]); // 0 1 2 3 4 출력
}
이러한 foreach 반복문을 사용함으로써 가변하는 복잡한 배열이나 리스트의 크기를 일일이 구할 필요가 없습니다. 이중 for문이나 복잡한 반복문에 적합하며, 인덱스를 생성해 접근하는 단순 for문 보다 수행속도가 조금 더 빠릅니다.
무엇보다도 코드가 짧아서 좋습니다 ㅎㅎ(가독성도 높구요)
이러한 사용하기도 편하고 성능 빵빵한 foreach문에게도 한계점이 존재하는데요...
※ foreach 문의 한계
배열 및 리스트를 탐색하는 반복문을 구현하기 편한 foreach 반복문에게도 한계가 존재합니다.
⊙ 반복문 내에서 배열이나 리스트의 값을 변경 하거나 추가할 수 없습니다.
for(int i : arr) {
arr[i] = 3; // 오류 발생!!, i가 무엇?
arr[i+1] = 4; // 오류 발생!! i가 대체 무엇???
}
⊙ 배열을 역순으로 탐색할 수 없습니다.
for(int i : arr) { // 표현 조차 불가능 ㅜㅜ
...
}
이러한 장, 단점을 가진 foreach문을 적절히 사용하여 가독성 높고 성능 좋은 프로그래밍을 하시기 바랍니다. 혹시 오타가 있는 부분이나 궁금한 점이 있는분은 댓글로 남겨주시기 바랍니다.
공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.
'Java' 카테고리의 다른 글
자바 가비지 컬렉션(Java Garbage Collection) (0) | 2018.09.29 |
---|---|
자바 벡터(Vector)와 어레이리스트(ArrayList) 비교 (5) | 2018.09.23 |
java.lang.NullPointerException 해결법 (1) | 2018.09.10 |
java.lang.ArrayIndexOutOfBoundsException 해결법 (0) | 2018.09.10 |
자바 배열 사용법 (0) | 2018.09.06 |
자바 String 문자열 사용법 정리 (1) | 2018.08.20 |
[Java] 자바 웹 크롤링 - 실시간 데이터 수집 (6) | 2018.08.20 |
자바 DB연동 - JDBC + MySQL (0) | 2018.08.17 |