Iterator란 자바에서 컬렉션 프레임워크에 저장된 요소들을 순회하여 읽어오는데 사용되는 인터페이스
Iterator를 사용하면 어떤 컬렉션 프레임워크라도 읽어볼 수 있는 표준화된 방법을 제공한다.
Iterator 인터페이스는 다형성을 구현하고자 하기 때문에 for 루프나 while 루프와 같은 제어문과 함께 사용된다
EX)
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorTest {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("봄");
list.add("여름");
list.add("가을");
list.add("겨울");
Iterator<String> itr = list.iterator();
while(itr.hasNext()){
System.out.println("itr.next()==>" + itr.next());
}
}
}
list.iterator()를 호출하여 Iterator 객체를 얻은 후, hasNext() 메서드로 다음 요소의 존재 여부를 확인하고, next() 메서드로 실제 요소를 읽어온다. 이를 반복하면서 모든 요소를 읽어올 수 있다.
Iterator 객체는 이미 사용된 후에는 재사용할 수 없다
Iterator 인터페이스는 hasNext(), next(), remove() 세 가지 메서드를 제공한다
hasNext() 메서드는 다음 요소가 존재하는지 여부를 true/false로 반환하며, true인 경우 다음 요소가 있다는 의미 next() 메서드는 다음 요소를 반환한다. remove() 메서드는 컬렉션에서 현재 요소를 제거한다
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 병렬과 동시성의 차이점은?! (0) | 2023.07.13 |
---|---|
📌 iterator와 listIterator의 차이는 무엇일까? (0) | 2023.07.12 |
📌 thread-safe 컬렉션 클래스들은 무엇이 있을까? (0) | 2023.07.10 |
📌 Queue에서, poll()과 remove()의 차이는 무엇일까? (0) | 2023.07.06 |
📌 Array와 ArrayList의 차이점은!? (1) | 2023.07.04 |