1. Iterator, ListIterator, Enumeration
1) 컬렉션에 저장된 데이터를 접근해서 읽는데 사용되는 인터페이스다
2) Enumeration은 Iterator의 구버젼이다.
3) ListIterator는 Iterator의 접근성을 향상시킨 것이다.(단방향 -> 양방향)
2. Iterator 메서드(최신 버전)
1) boolean hasNext() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다.
2) Object next() : 다음 요소를 읽어 온다. next()를 호출하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전하다.
3) void remove() : next()로 읽어 온 요소를 삭제한다. next()를 호출한 다음에 remove()를 호출해야 한다.
4) void forEachRemaining(Consumer<? super E> action) : 컬렉션에 남아있는 요소들에 대해 지정된 작업(action)을 수행한다. 람다식을 사용하는 디폴트 메서드다.
3. Enumeration 메서드(구 버전)
1) boolean hasMoreElements() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다.
2) Object nextElements() : 다음 요소를 읽어 온다. nextElements()를 호출하기 전에 hasMoreElements()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전하다.
4. Iterator
1) collection(list, set, map) 마다 구조가 다르기 때문에 요소를 읽어오는 방법이 다르다.
2) collection의 요소를 읽는 방법을 표준화 시킨 것이 Iterator다.
3) collection에 Iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용한다.
5. Map과 Iterator
1) Map에는 Iterator()가 없다.(Map이 Colletion의 자손이 아니기 때문이다.
2) 따라서 Map은 keySet(), entrySet(), values()에서 Iterator를 호출해야 한다.
'프로그래밍 > Java' 카테고리의 다른 글
54. Java Comparator, Comparable (0) | 2023.03.14 |
---|---|
53. Java Arrays (0) | 2023.03.14 |
51. Java Stack과 Queue (0) | 2023.03.08 |
50. Java LinkedList (0) | 2023.03.07 |
49. Java ArrayList (0) | 2023.03.07 |
댓글