본문 바로가기

Java

Iterator

출처 - Java의 정석 기초편 (남궁 성)

 

 

1. Iterator

- Iterator: 컬렉션에 저장된 요소(데이터)를 접근(읽어오기)하는데 사용되는 인터페이스(표준화→코드 재사용성 용이)

- ListIterator: Iterator 접근성 향상(단방향→양방향), next()-previous()

- Enumeration: Iterator 구버전

 

public interface Collection { // 자손 List와 Set도 iterator() 포함
    public Iterator iterator(); // Iterator를 구현한 클래스의 인스턴스 반환
}

public interface Iterator {
    boolean hasNext();
    Object next();
    void remove();
}

List list = new ArrayList(); // 컬렉션 변경시 이 부분만 수정
Iterator it = list.iterator();

while(it.hasNext()) { // boolean hasNext() - 읽어올 요소 있는지 확인
    System.out.println(it.next()); // Object next() - 다음 요소 읽기
}

 

 

2. Map과 Iterator

- Map은 iterator() 없어 직접 호출 불가

- keySet(), entrySet(), values() 통해 Set 형태로 얻어 iterator() 호출

 

Map map = new HashMap();
Iterator it = map.entrySet().iterator();

 

 

 

'Java' 카테고리의 다른 글

HashSet, TreeSet(binary search tree)  (0) 2022.10.29
Arrays, Comparable, Comparator  (0) 2022.10.28
스택(Stack), 큐(Queue)  (0) 2022.10.28
ArrayList, LinkedList  (0) 2022.10.27
컬렉션 프레임웍(collections framework)  (0) 2022.10.27