IT/Programming / / 2023. 4. 26. 13:38

<Effective Java> RULE 46 for문 보다 for-each문을 사용하라

반응형

 

~ 릴리즈 1.5 이전

컬렉션 순회

for(Iterator i = c.iterator() ; i.hasNext();){
    doSomething((Element) i.next());
}
 

배열 순회

for(int i = 0 ; i < a.length ; i++){
    doSomething(a[i]);
}
 

릴리즈 1.5 ~ 부터

for(Element e : elements){
    doSomething(e);
}
 

For-each는 컬렉션, 배열 그리고 Iterable 인터페이스를 구현하는 객체를 순회할 수 있다.

public interface Iterable<E> {
    //이 Iterable안에 있는 원소들에 대한 반복자 반환
    Iterator<E> iterator();
}
 

For-each는 다음과 같은 경우에는 적용할 수 없다.

1. Filtering

· 특정한 우너소를 삭제할 필요가 있다고 할 때

2. 변환

· 리스트나 배열을 순회하다가 그 원소 가운데 일부, 또는 전부의 값을 변경해야 할 때

3. 병렬 순회

· 컬렉션을 병렬적 순회할때 첨자를 명시적으로 제어해야 할 때

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유