728x90
Iterator, ListIterator, Enumeration
Iterator, ListIterator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는 데 사용되는 인터페이스이다.
Enumeration은 Iterator의 구버전이고, ListIterator는 Iterator의 기능을 향상시킨 것이다.
Enumeration은 구버전이므로 이제부터는 다루지 않고, 나머지 Iterator 형제에 대해서만 다뤄보겠다.
Iterator : 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스
ListIterator : Iterator에 양방향 조회기능을 추가함(List를 구현한 경우에만 사용이 가능하다.)
사용방법
사용방법은 어렵지 않기에 간단히 소개하겠다.
List list = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
List list2 = new ArrayList();
Iterator lit = list2.listIterator();
while(lit .hasNext()){
System.out.println(lit .next());
}
while(lit .hasPrevious()){
System.out.println(lit .previous());
}
Map과 Iterator
Map 인터페이스를 구현한 클래스는 iterator를 직접 호출할 수 없고, keySet이나 entrySet과 같은 메서드를 통해 키와 값을 각각 따로 Set의 형태로 얻어 온 후에 다시 iterator()를 호출해야 한다.
📔 Reference
[JAVA의 정석 기초편 - 남궁성]
728x90
'☕️ Java > 기본' 카테고리의 다른 글
[JAVA] Comparator, Comparable (0) | 2021.12.22 |
---|---|
[JAVA] Arrays의 메서드 (배열의 복사, 채우기, 정렬, 검색, 비교(deepEquals)) (0) | 2021.12.19 |
[JAVA] Stack과 Queue + Deque, 우선순위 큐(PriorityQueue ) (0) | 2021.12.18 |
[JAVA] ArrayList 최대&최솟값 구하기 (0) | 2021.12.17 |
[JAVA] LinkedList에 대하여 (ArrayList와의 차이) (0) | 2021.12.17 |