목차

  • Iterator, ListIterator, Enumeration 인터페이스
  • Iterator 란?
    • 메소드
    • ListIterator와의 차이점
    • Map과 Iterator
  • Enumeration 이란?
    • 메소드

 

 

1. Iterator, ListIterator, Enumeration 인터페이스

  • 컬렉션에 저장된 데이터를 접근(읽어오기)하는데 사용되는 인터페이스

 

 

 

2. Iterator 란?

  • 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
    • List에서 Set으로 컬렉션을 바꿀 경우, 저장된 요소를 읽어오는 코드를 Iterator를 사용하여 표준화
  •  컬렉션에 iterator() 를 호출해서 Iterator를 구현한 객체를 얻어서 사용

 

 

 

1) 메소드

  1. 확인하기
    1. boolean hasNext() : 읽어 올 요소가 남아있는지 확인. (있으면 true, 없으면 false)
  2.  읽어오기
    1. Object next() : 다음 요소를 읽어온다.
  3. 기타
    1. void remove() : next()로 읽어온 요소를 삭제
    2. void forEachRemaining(Consumer<? super E>action) : 컬렉션에 남아있는 요소들에 대해 지정된 작업(action)을 수행

 

 

 

 

 

2) ListIterator와의 차이점

  • ListIterator는 Iterator의 접근성을 향상시킨 것
    • Iterator : 단방향 접근
    • ListIterator : 양방향 접근

 

 

 

 

3) Map과 Iterator

  • Map은 Collector의 자손이 아니기에 iterator()가 없다
    • keySet(), entrySet(), values()를 통해서 iterator()를 사용해야 한다

 

 

 

 

 

 

2. Enumeration 이란?

  • Iterator의 구 버젼이며, 사용법은 거의 같다

 

 

1) 메소드

  1.  확인하기
    1. boolean hasMoreElements() : 읽어 올 요소가 남아있는지 확인 (있으면 true, 없으면 false)
  2.  읽어오기
    1. Object nextElement() : 다음 요소를 읽어온다 (hasMoreElements()를 먼저 호출 후 사용 권장)

+ Recent posts