Iterator

큰모래·2022년 12월 4일
0

정의

자바 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화했는데
그 중 하나가 Iterator이다.

여기서 컬렉션 프레임워크는 List,Set,Map,Queue 등을 의미한다.

사용법

인텔리제이를 통해 Iterator 클래스를 찾아보았다.

boolean hasNext()는 Iterator 안에 다음 값이 들어있는지 확인한다.

Object next()는 Iterator의 다음 값을 가져온다.

void remove()next()로 읽어 온 요소를 삭제한다.

ArrayList<Integer> list = new ArrayList<Integer>();
Iterator<Integer> itr = list.iterator();

while(itr.hasNext()) {
	list.get(itr.next());
}

iterator명.hasNext() 를 통해 값이 있는지 확인한 후 값이 있으면
itr.next() 값을 list에 넣는 방식으로 컬렉션에 값을 저장할 수 있다.

장점

굳이 Iterator를 써서 컬렉션의 값들을 불러오는 이유가 왜일까??

  1. Iterator는 모든 컬렉션 프레임워크에 공통으로 사용 가능하다.

  2. 컬렉션 프레임워크에서 쉽게 값을 가져오고 제거할 수 있다.

  3. 3개의 메소드만 알면 되어서 사용하기 매우 쉽다.

이렇게 3가지의 장점이 있다.

단점

그렇다면 단점은 무엇일까??

  1. 처음부터 끝까지의 단방향 반복만 가능하다.

  2. 값을 변경하거나 추가가 불가능하다.

  3. 대량의 데이터를 제어할 때 속도가 느리다.

정리

  • Iterator는 자바 컬렉션 프레임워크에서 값을 가져오거나 삭제할 때 공통으로 사용 가능하다.

  • Iterator<데이터타입> iterator명 = 컬렉션.iterator(); 로 정의할 수 있다.

  • 3개의 메소드만 알면 사용하기 매우 쉽다.

  • 처음부터 끝까지 단방향 반복만 가능하고 값을 변경하거나 추가할 수 없다.

profile
큰모래

0개의 댓글