이터레이터(Iterator)란?

dongeranguk·2021년 11월 25일
0

1. 컬렉션 프레임워크

자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.

즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은것이다.

이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.

자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을
Iterator 인터페이스로 표준화 하고 있다.


1.1. 컬렉션 프레임워크 주요 인터페이스

이 중에서 List와 Set 인터페이스는 모두 Collecttion 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의된다.

  • List 인터페이스
    순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다.

  • Set 인터페이스
    순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않는다.

  • Map 인터페이스
    키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없다.
    이 때 키는 중복을 허용하지 않지만, 값은 중복될 수 있다.

Collections 인터페이스에서 제공하는 메서드로 iterator() 가 존재한다.


2. Iterator 인터페이스

자바의 컬렉션 프레임워크는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있다.

Conllection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메서드가 정의되어 각 요소에 접근하도록 한다.

따라서, Collection 인터페이스를 상속받는 List와 Set 인터페이스에서도 iterator() 메서드를 사용할 수 있다.

2.2. Iterator 인터페이스의 메서드

  • boolean hasNext()
    해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환한다.

  • E next()
    이터레이션(iteration)의 다음 요소를 반환한다.

  • default void remove()
    해당 반복자로 반환되는 마지막 요소를 현재 컬렉션에서 제거한다.

0개의 댓글