[JAVA] Iterator와 Enhanced For Loop

joyful·2021년 8월 25일
0

Java/Spring

목록 보기
24/28

1. 개요

자바의 컬렉션 프레임워크에서 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화 한 것

  • Collection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메소드를 정의하여 각 요소에 접근하도록 함
    Collection 인터페이스를 상속받는 List, Set 인터페이스에서도 iterator() 사용 가능


2. 메소드

메소드설명비고
boolean hasNext()해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고,
더 이상 다음 요소를 가지고 있지 않으면 false를 반환
E next()이터레이션(iteration)의 다음 요소를 반환
default void remove()해당 반복자로 반환되는 마지막 요소를 현재 컬렉션에서 제거선택적 기능


3. Enhanced For Loop

  • 자바에서는 JDK 1.5부터 추가된 Enhanced for 문 사용하도록 권장

  • 특징

    • Iterator와 같은 성능 유지
    • 코드의 명확성 확보
    • 발생할 수 있는 버그 예방
  • 비교

    • 기존 For Loop
      for(초기값; 조건식; 증감식) {..}
    • 향상된 For Loop
      for(초기화 : 배열) {..}
  • 예시

    int[] arr = new int[] {1,2,3,4,5};
    int sum = 0;
    
    for(int n : arr) { 
        sum += n;
    }

💡 주의

요소의 선택적 제거나 대체 등을 수행하기 위한 경우, 반복자(iterator) 사용 필요


📖 참고

profile
기쁘게 코딩하고 싶은 백엔드 개발자

0개의 댓글