728x90
for문과 for-each문은 자바에서 반복문을 구현하는 구문입니다. for-each문은 자바 5부터 추가된 구문으로, 컬렉션과 배열을 반복할 때 사용됩니다. for-each문은 for문과 비교했을 때 다음과 같은 장단점이 있습니다.
for-each문의 장점
- 코드가 간결해져 가독성이 좋아집니다.
- 반복 인덱스를 사용하지 않으므로, 인덱스 관련 오류가 발생할 가능성이 줄어듭니다.
- 컬렉션과 배열 등 순회할 수 있는 모든 자료구조를 순회할 수 있습니다.
for-each문의 단점
- 순서대로 순회하기 때문에, 반복 중간에 끊어서 루프를 탈출할 수 없습니다.
- 인덱스 정보를 얻을 수 없으므로, 반복과 관련된 작업을 수행할 때 유용하지 않습니다.
- 배열 또는 컬렉션의 내용을 수정하는 작업은 for-each문에서 직접 처리할 수 없으며, Iterator를 사용해야 합니다.
다음은 for문과 for-each문을 비교한 예제 코드입니다.
// for문 예제 코드
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
// for-each문 예제 코드
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
for (int num : list) {
System.out.print(num + " ");
}
위의 코드에서, for문은 인덱스를 사용하여 배열의 원소를 출력하는 반면, for-each문은 List 자료구조를사용하여 간결하게 출력할 수 있습니다.
따라서, for-each문은 반복문을 구현할 때 코드를 간결하게 작성할 수 있으므로, 자바에서 많이 사용되고있습니다.하지만 인덱스가 필요하거나 중간에 루프를 탈출해야 할 경우에는 for문이 더 적합합니다.
728x90
'Programming > Java' 카테고리의 다른 글
[Java] OOP(Object-Oriented Programming) (0) | 2023.02.27 |
---|---|
[Java] 배열과 리스트 (0) | 2023.02.27 |
[Java] int 상수 대신 열거 타입을 사용하라 (0) | 2023.02.27 |
[Java] clone 함수 (0) | 2023.02.27 |
[Java] 문자열 거꾸로 출력하기 (0) | 2023.02.26 |