Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - Iterator 이해와 활용 방법

진이최고다 2023. 8. 1. 22:00

1. Iterator 란?

iterator는 자바에서 제공하는 컬렉션 프레임워크의 요소를 순화하는 방법을 표준화한 인터페이스이다. 컬렉션에 저장된 요소에 순차적으로 접근하는데 사용되며, 인덱스를 사용하지 않고도 모든 요소를 순회할 수 있다. 이는 컬렉션에 독립적으로 동작하기 때문에, 다양한 유형의 컬렉션에 대해 동일한 방식으로 요소를 순회할 수 있다.

 

2. Iterator의 중요 메서드

Iterator 인터페이스는 주로 세 가지 메서드를 사용한다.

  • hasNext() : 이 메서드는 컬렉션에 다음 요소가 있으면 true를 반환하고, 없으면 flase를 반환한다. 이 메서드는 보통 "next()" 메서드를 호출하기 전에 사용하여 안전하게 요소를 가져올 수 있도록 한다.
  • next() : 이 메서드는 컬렉션의 다음 요소를 반환하고, 이후에 Iterator의 위치를 다음 위치로 이동시킨다. 값이 없을 때 호출하면 오류가 발생하므로, 미리 "hasNext()"로 확인하는 것이 좋다.
  • remove() : 이 메서드는 Iterator가 가리키고 있는 요소를 제거한다.

 

3. Iterator 사용 시 주의점

Iterator를 사용하면서 가장 주의해야 할 점은 "next()" 메서드를 호출하기 전에 반드시 "hasNext()" 메서드를 사용하여 다음 요소의 존재 여부를 확인해야 한다는 점이다. 이는 "next()" 메서드가 요소가 없을 때 오류를 발생시키기 떄문에, 이런 식으로 "hasNext()"메서드를 사용하면 안전하게 컬렉션의 모든 요소를 순회할 수 있다.

 

4. Iterator 사용법

Iterator<String> it = list.iterator();

while(it.hasNext()) {
    String str = it.next();
    System.out.println(str);
}

위 코드는 Iterator를 사용하여 ArrayList의 모든 요소를 순회하고 출력하는 예제이다.