- 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스
- 컬렉션(List, Set)에 저장된 요소들을 읽어오는 방법을 표준화 한 것 👉🏻 표준화로 코드의 일관성을 유지하여 재사용성을 높임
1. Iterator
- 컬렉션에 iterator()를 호출하여 Iterator를 구현한 객체를 얻어 사용
- Iterator인터페이스의 메서드
메서드 | 설명 |
boolan hasNest() | - 읽어 올 요소가 남아있는지 확인 - 있으면 ture, 없으면 false 반환 |
Object next() | - 다음 요소 읽어오기 - next()를 호출 전 hasNext()를 호출하여 읽어 올 요소가 있는지 확인 |
void remove() | - next()로 읽어 온 요소 삭제 - next() 호출 후 romove()를 호출(선택적 기능) |
void forEachRemaining(Consumer<?super E>action) | - 컬렉션에 남아있는 요소들에 대해 지정됨 작업 수행 - 람다식을 사요하는 디폴트 메서드(JDK 1.8부터) |
- Map은 컬렉션을 구현한것이 아니므로 iterator()가 없으므로 entrySet(), keySet(), values()를 호출하여 사용
// entrySet()메서드로 key-value쌍을 Entry타입의 객체로 얻은 후 iterator() 호출
Iterator it = map.entrySet().iterator();
// keySet()메서드로 key객체를 얻은 후 iterator() 호출
Iterator it2 = map.keySet().iterator();
2. ListIterator
- Iterator의 접근성을 향상시킨 것(단방향 -> 양방향)
- List를 구현한 경우만 사용 가능
3. Enumeration
- Iterator의 구버전
- Enumeration 메서드
'Java' 카테고리의 다른 글
Java Comparable, Comparator 인터페이스 (0) | 2023.01.03 |
---|---|
Java Arrays 클래스(Arrays Class) (0) | 2023.01.03 |
Java 스택과 큐 (0) | 2023.01.03 |
Java 컬렉션 프레임워크(collections framework) (0) | 2023.01.02 |
Java 형식화 클래스 DecimalFormat, SimpleDateFormat (0) | 2022.12.30 |