(5) Iterator, ListIterator, Enumeration

2022. 1. 15. 22:24·자바/컬렉션 프레임워크

1. Iterator

- 컬렉션 프레임웍에서는 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화하였다. 그것은

바로 각 요소에 접근할 수 있느 기능을 가진 Iterator 인터페이스이다.

 

- Collection 인터페이스에 정의된 메서드이므로, List와 Set에도 Iterator가 포함되어 있다.

 

 

- 메서드 종류는 아래와 같다.

(1) bollean hasNext()

 

(2) Object next()

 

(3) void remove()

: next()로 읽어야만 remove()를 사용할 수 있다..

 

 

- Map 인터페이스를 구현한 컬렉션 클래스는 키와 값을 iterator()로 불러올 수 없지만,

따로 키값을 가져오는 keySet()이나 entrySet()을 불러와야 한다.

 

 

 

 

1-1. Iterator를 이해하기 위한 예제(1)

: next() 이후 remove() 하는 예제이다.

 

 

 

 

1-2. Iterator를 이해하기 위한 예제(2)

: Iterator가 실제 구현되어 있는 메서드(iterator(), hasNext(), next(), remove())를 확인하는 예제이다.

 

( 컴파일 에러는 따로 하나의 클래스를 만들어서 상속 받은 후, 정의하면 된다. )

 

 

 

 

2. ListIterator

- Iterator를 상속받아서 기능을 추가한 것으로, 단방향만 접근하는 것이 ListIterator에서는 양방향으로 

접근할 수 있다.

 

- 추가된 메서드는 아래와 같다.

(1) boolean hasPrevious()

 

(2) Object previous()

 

(3) int nextIndex()

 

(4) int previousIndex()

 

 

 

 

3. Enumeration

- Iterator의 구버전인데, 가능하면 호환성을 위해 Iterator를 쓰는 것을 권장한다.

'자바 > 컬렉션 프레임워크' 카테고리의 다른 글

(7) Comparator와 Comparable  (0) 2022.01.17
(6) Arrays  (0) 2022.01.17
(4) Stack과 Queue  (0) 2022.01.13
(3) LinkedList  (0) 2022.01.12
(2) ArrayList  (0) 2022.01.10
'자바/컬렉션 프레임워크' 카테고리의 다른 글
  • (7) Comparator와 Comparable
  • (6) Arrays
  • (4) Stack과 Queue
  • (3) LinkedList
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      Collections Framework
      InputStream
      안정 정렬
      불안정 정렬
      람다식
      중간연산
      코드트리
      소켓 프로그래밍
      안드로이드 스튜디오
      java.time 패키지
      선택 정렬
      snail
      Arrays
      TCP 소켓 프로그래밍
      outputstream
      serializable
      file
      문자 기반 스트림
      코딩트리조별과제
      제자리 정렬
      알고스팟
      스트림
      코딩테스트
      map()
      ServerSocket
      유용한 클래스
      자바 개념
      java.lang패키지
      다형성
      역직렬화
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    (5) Iterator, ListIterator, Enumeration
    상단으로

    티스토리툴바