Iterator란?
반복이라는 사전적인 의미가 있는 Iterator에 대하여 알아보도록 하겠습니다. JAVA에서 Iterator는 무엇을 반복하는 것일까?
Java의 Iterator
Iterator란 Java의 컬렉션(Collection)에 저장된 요소들을 순회하는 인터페이스입니다. Iterator의 이해를 위해서는 컬렉션(Collection)이 무엇인지 알아야 합니다. 아랫글을 우선 읽고 와주시면 감사하겠습니다!
2022.11.30 - [JAVA] - [JAVA] 콜렉션이란?
이제 컬렉션(Collection)의 개념을 파악하였다면 iterator에 대하여 본격적으로 알아보도록 하겠습니다. Java에서는 컬렉션에 저장된 요소를 읽어오는 방법을 Iterator 인터페이스로 표준화하고 있습니다. 컬렉션에서 저장된 요소를 가지고 오는 방법이 모두 다르다. 실제 여러 개발자가 협업을 하는 프로젝트에서 표준화된 Iterator 인터페이스를 사용하지 않는다면 어려움이 생길 것이다. 따라서 Iterator 인터페이스를 사용하여 컬렉션 요소에 접근하는 것을 권장합니다.
Iterator 인터페이스
public interface Iterator<E> {
boolean hasNext();
E next();
default void remove() {
throw new UnsupportedOperationException("remove");
}
default void forEachRemaining(Consumer<? super E> action) {
Objects.requireNonNull(action);
while (hasNext())
action.accept(next());
}
}
Iterator 메서드
함수 | 기능 | 반환값 |
hasNext() | 다음 요소가 있는지 확인함 | True / False |
next() | 다음 요소를 읽어옴 | 다음 요소 |
forEachRemaining | 요소를 반복시킴(JAVA 8 도입) | |
remove | 읽어온 요소를 제거함 |
Iterator 사용법
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
----------------------------------------- |
Iterator<Integer> iter = list.iterator(); |
----------------------------------------- |
while (iter.hasNext()) {
System.out.print(iter.next() + " ");
}
result
1
2
3
4
5
'Languages > Java' 카테고리의 다른 글
[JAVA]equals()와 hashcode()는 무엇인가? (5) | 2023.01.12 |
---|---|
[JAVA]로깅에 System.out.println()을 사용하지 않는 이유 (11) | 2023.01.12 |
[JAVA] 생성자(Constructor) (4) | 2023.01.05 |
[JAVA]Error & Exception (9) | 2022.12.28 |
[JAVA] 데이터의 기본타입, 참조타입 (6) | 2022.12.19 |