[Java] Iterator, ListIterator

이상현·2023년 10월 21일
0

Java

목록 보기
9/21
post-thumbnail

본 게시글은 Java Api Document - Java Collections Framework (JDK 17)
자바의 정석의 내용을 옮겨 작성한 게시글입니다.

Iterator 인터페이스

Iterator : 반복자

컬렉션에 저장된 요소들을 반복 가능한 형식으로 읽어오는 방법을 표준화한 인터페이스이다.

Colection 인터페이스에는 Iterator를 구현한 클래스의 인스턴스를 반환하는 iterator() 가 있다.

사용하는 이유

인덱스가 없는 Collection의 자료구조들의 요소를 순환할 때 사용가능하다.

Iterator의 메소드

  • boolean hasNext()
    읽어 올 요소가 남아있는지 확인한다.
  • E next()
    다음 요소를 읽어온다. 일반적으로 hasNext로 확인한 후 사용한다.
  • void remove()
    next로 읽어온 요소를 삭제한다. next()를 호출한 다음에 사용해야 한다.

사용 예시

public static void main(String[] args) {
	HashMap<Integer, String> maps = new HashMap<>();
    maps.put(32, "Hello");
    maps.put(11, "World");
    maps.put(7, "!!!!");

    Iterator<Integer> iterator = maps.keySet().iterator();

	while (iterator.hasNext()) {
		System.out.println(iterator.next());
	}
}
  • 출력
32
7
11

Set을 순회했으므로 정해진 순서가 없이 출력된다.

ListIterator

Iterator 에서 여러 기능 추가된 인터페이스이다.

역방향으로 순회가 가능하고, 값을 설정하는 기능도 추가되었다.

0개의 댓글