*JAVA*

[java] 컬렉션 프레임웍 - Iterator

깐부로부터 2021. 11. 21. 19:24

컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스

 

- 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것

- 컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용

- ListSet이 구현을 했다. 

- List와 Set이 구현한 인터페이스 Collection에 iterator()가 정의 되어 있기때문에 Map에는 iterator()가 없다.

- ListIterator는 Iterator의  접근성을 향상시킨 것 (단방향 → 양방향)

   : previous() 이전 요소도 알 수 있다.(List 인터페이스를 구현한 컬렉션에서만 쓰일 수 있음. 잘 쓰이진 않음)

 

 

 

< Iterator 메소드 >

 

- boolean hasNext() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false 반환 (확인)

- Object nesxt() : 다음 요소를 읽어 온다. next()를 호출하기 전 hasNext()를 호출해서 읽어올 요소가 있는지 확인하는 것이 안전 (읽기)

 

 

그리고 iterator는 1회용이라 다 쓰고나면 다시 얻어와야 한다.