Iterator, ListIterator, Enumeration
- Collection에 저장된 데이터를 접근하는 데(읽어오는 데) 사용되는
인터페이스
- Enumeration은 Iterator의 구버전
- ListIterator는 Iterator의 접근성을 향상시킨 것(단 -> 양방향)
- Iterator가 가장 중요! 나머지는 그닥
Iterator
- Collection에 저장된 요소들을 읽어오는 방법을 표준화한 것
- boolean hasNext() - 읽을 요소가 남아있는지 확인
- Object next() - 다음 요소를 읽어옴
- 컬렉션에 iterator()를 호출해서 구현한 객체를 얻어서 사용
List list = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
class Ex1 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
Iterator it = list.iterator();
while(it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
it = list.iterator();
while(it.hasNext()) {
Object obj = it.next();
System.out.println(obj);
}
}
}
Map과 Iterator
- Map에는 iterator()가 없다.
-> Map은 Collection의 자손이 아니기 때문에
- KeySet(), entrySet(), values()를 호출해야 사용가능
Map map = new HashMap();
Iterator it = map.entrySet().iterator();