*JAVA*
[java] 컬렉션 프레임웍 - Iterator
깐부로부터
2021. 11. 21. 19:24
컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스
- 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것
- 컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용
- List와 Set이 구현을 했다.
- List와 Set이 구현한 인터페이스 Collection에 iterator()가 정의 되어 있기때문에 Map에는 iterator()가 없다.
- ListIterator는 Iterator의 접근성을 향상시킨 것 (단방향 → 양방향)
: previous() 이전 요소도 알 수 있다.(List 인터페이스를 구현한 컬렉션에서만 쓰일 수 있음. 잘 쓰이진 않음)
< Iterator 메소드 >
- boolean hasNext() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false 반환 (확인)
- Object nesxt() : 다음 요소를 읽어 온다. next()를 호출하기 전 hasNext()를 호출해서 읽어올 요소가 있는지 확인하는 것이 안전 (읽기)
그리고 iterator는 1회용이라 다 쓰고나면 다시 얻어와야 한다.