for-each문

by 조쉬 posted Sep 13, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

for-each문


배열과 컬렉션에 저장된 요소에 접근하기 할 때 기존보다 편리한 방법으로 처리할 수 있도록 for문의 새로운 문법이 추가되었다.


1. 배열

for(배열의 타입 변수명 : 배열){

// 반복할 문장

}


2. 컬렉션

for(컬렉션에 저장된 요소의 타입 변수명 : 컬렉션){

// 반복할 문장

}


3. 배열 예제

아래의 두 for문은 서로 동일하다.

int [] arr = {10, 20, 30, 40 50};


for(int i = 0; i<arr.length; i++;){

System.out.println(arr[i]);

}


for(int i : arr){// arr[i]가 아닌 i라는 것에 유의

System.out.println(i);

}

코드 해석: 반복문이 한 번 반복될 때마다 변수 e에 컬렉션 arr의 인덱스가 하나씩 저장되며, e에 저장된 원소와 한 칸의 공백을 출력한다. 반복은 배열의 인덱스 0부터 n-1까지 이루어진다. (배열 자체는 참조만 되기 때문에 변경되지 않음)



4. 컬렉션 예제

이제 ArrayList에 저장된 요소들에 접근하기 위해 for문을 사용한다면 다음과 같을 것이다.

ArrayList<Integer> list = new ArrayList<Integer>();

list.add(new Integer(10));

list.add(new Integer(20));

list.add(new Integer(30));

list.add(new Integer(40));

Iterator it = list.iterator();


for(it.Iterator();){

System.out.println(it.next());

}


for(Integer i : list){

System.out.println(i);

}