- Java-iterator란? 목차
Iterator란?
List와 빼먹을 수 없는 것이 Iterator 인터페이스이다.
자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다.
컬렉션 프레임워크란 데이터를 저장하는 클래스들을 표준화한 설계이다.
컬렉션 프레임워크는 아래 그림과 같이 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다.
Iterator는 이런 집합체로부터 정보를 얻어낸다고 볼 수 있다. 집합체를 다룰 때는 개별적인 클래스에 대해 데이터를 읽는 방법을 알아야하기 때문에 각 컬렉션에 접근이 힘들어진다. Iterator를 쓰게 되면 어떤 컬렉션이라도 동일한 방식으로 접근이 가능하여 그 안에 있는 항목들에 접근할 수 있는 방법을 제공한다.(다형성)
Iterator의 메소드에는 hasNext(), next(), remove()가 있다.
각각의 기능은 다음과 같다.
- hasNext() : 읽어올 요소가 남아있는지 확인하는 메소드. 요소가 있다면 true, 없다면 false
- next() : 다음 데이터를 반환한다.
- remove() : next()로 읽어온 요소를 삭제한다.
메소드의 호출 순서는 hasNext() -> next() -> remove() 이다.
기본문법
->안에 내용들을 하나하나 뽑아내고 마지막에 뽑을 내용이 없으면 false를 반환하면서 종료된다.
또한,
위 사진과 같이 Collection이라는 데이터타입을 사용해도 상관없다.
이유 : Collection이나 HashSet이나 똑같이 " Collection "이라는 인터페이스를 구현하고 있고,
그곳에는 공통적인 iterator()라는 API가 존재하기 때문에 데이터 타입을 Collection을 해도 된다.
(밑에 사진 참고)
'Java' 카테고리의 다른 글
Java-Map이란? Map의 종류 (0) | 2019.10.26 |
---|---|
[Java] int와 integer의 차이 (0) | 2019.10.26 |
Java-List와 Hash의 차이점 (0) | 2019.10.26 |
Java-collections framework ArrayList의 활용 (0) | 2019.10.26 |
Java-제네릭 (0) | 2019.10.26 |