본문 바로가기

카테고리 없음

For Each

반응형

Java 1.4버전이나 그 이전 version에 익숙하신 분들은 보통 for Loop를 구현 할 때 다음과 같이 구현 합니다.

method(Collection c){
for(Iterator i = c.iterator();i.hasNext();){
 i.next().cancel();
}
}

하지만 이러한 구조는 for문의 구조가 복잡해 지면 헷갈리게 될 가능성이 많습니다.
또한 Generic을 사용하지 않음으로서 Collection에 뭐가 들어 있는지도 모릅니다.

그러나 아래와 같이 for each를 사용하면 Collection이나 배열의 요소만큼만 Loop를 자동으로 돌리므로 알기쉽게 Code를 작성할 수 있습니다.

method(Collection<TimerTask> c){
 for(TimerTask t : c){
  t.cancle();
 }
}

위의 구조를 간단히 설명하겠습니다.
Collection c의 각 객체를 순차적으로 TimerTask type의 t에 할당한 상태에서 for Loop를 실행합니다.

참고 : http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html

반응형