최대 1 분 소요

Iterator 인터페이스

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

컬렉션 프레임 워크랑 데이터를 저장하는 클래스들을 표준화한 설계이다.

컬렉션 프레임워크는 3가지 인터페이스로 크게 나누어진다.

  • Set: 순서를 유지하지 안흔 데이터 집합, 데이터 중복을 허용하지 않고 HashSet, TreeSet 등이 있다.
  • List: 순서를 유지하는 데이터의 집합이다. 데이터의 중복이 허용되고, LinkedList, ArrayList 등이 있다.
  • Map: 키(Key) 와 값(Value)으로 이루어진 데이터의 집합이다. 순서는 유지되지 않으며, 키의 중복은 허락 하지않는다

Iterator는 이런 집합체로 부터 정보를 얻어오며 Iterator의 메소드는 hasNext(), next(), remove()가 있다.

  • hasNext() : 읽어올 요소가 남아있는지 확인하는 메소드이다. 요소가 있으면 true , 없으면 false
  • next() : 다음 데이터를 반환한다
  • remove(): next()로 읽어온 요소를 삭제한다.

예제 코드

import java.util.ArrayList;
import java.util.Iterator;
public class Practice {
           public static void main(String[] args) {
                      System.out.println("List 생성");
                      ArrayList list = new ArrayList();
                      list.add("일");
                      list.add("월");
                      list.add("수");
                      Iterator iter = list.iterator();
                      while (iter.hasNext() == true) {
                                 String day = (String) iter.next();
                                 if (day == "수") {
                                             iter.remove();
                                 }
                                 System.out.println("Day : " + day);
                      }
                      System.out.println("-------------------");
                      iter = list.iterator();
                      while(iter.hasNext() == true) {
                                 String day = (String)iter.next();
                                 System.out.println("Day : " + day);
                      }
           }
}

태그:

카테고리:

업데이트: