Iterator, ListIterator, Enumeration
- 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스
- 구버전 Enumeration → 신버전 Iterator
- 접근성 향상 → ListIterator (단방향 → 양방향) (
previous()
)
Iterator 인터페이스 메서드
메서드 | 설명 |
---|
boolean hasNext() | 1️⃣ 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환 |
Object next() | 2️⃣ 다음 요소를 읽어 온다. next()를 호출하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인 |
Iterator
- 컬렉션에 저장된 요소들을 읽어오는 표준화 방법 (List, Set)
- 컬렉션에
iterator()
를 호출해서 Iterator를 구현한 객체를 얻어서 사용
- iterator 는 1회용이라 다쓰고나면 다시 객체를 얻어와야 한다.
List list = new ArrayList();
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
it = list.iterator();
TreeSet c = new TreeSet();
Collection c = new TreeSet();
Map iterator()
- Map 인터페이스는 Collection 인터페이스의 자손이 아니기 때문에
iterator()
메서드가 없다.
keySet()
, entrySet()
, values()
를 호출해서 사용
Map map = new HashMap();
Iterator it = map.entrySet().iterator();
Set eSet = map.entrySet();
Iterator it = eSet.iterator();