Beny's Study
10. Iterator, ListIterator, Enumeration 본문
목차
- iterator, ListIteratorm, Enumeration
-iterator
- iterator의 메서드
- Map 과 Iterator
lterator, Listlterator, Enumeration
컬렉션에 저장된 요소를 접근(읽어오기) 하는데 사용되는 인터페이스
lterator : 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스
Listlterator : lterator에 양방향 조회기능 추가(List를 구현한 경우만 사용가능)
Enumeration : lterator의 구버전
lterator
- 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화함.(코드변경에 유리함)
-컬렉션에 iterator()호출해서 iterator을 구현한 객체를 얻어서 사용
List list = new ArrayList();//다른컬렉션으로 변경 시 이부분만 고치면 됨
Iterator it = list.iterator();
while(it.hashNext()){ //읽어올 요소가 있는지 확인하는 메서드
System.out.printIn(it.next()); //Object next() 다음 요소를 읽어옴
}
lterator 메서드
boolean hasNext(); | 읽어올 요소가 남았는지 확인 있으면true,없으면 false |
Object next(); | 다음요소를 읽어온다. next()호출 전에 hasNext()를 호출해서 읽어올 요소 있는지 확인하는게 먼저! |
void remove(); | next()로 읽어온 요소삭제. next()호출 후 다음에 remove()를 호출해야함 |
Map과 Iterator
- Map에는 Iterator이 없다.
why? Map은 collection의 자손이 아니기 때문!
=> keySet(), entrySet(), value() 같은 메서드를 통해서 키와 값을 각각 따로 set의 형태로 얻어온 후
다시 iterator()를 호출해야함
Map map = new HashMap();
Iterator it = map.entrySet().iterator();
//순서
//1)map.entrySet()
//2)iterator();
//3)it에 저장
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."
'[JAVA] > 13. 제네릭과 컬렉션' 카테고리의 다른 글
12. Comparator와 Comparable (0) | 2022.04.30 |
---|---|
11. Arrays (0) | 2022.04.30 |
09. Stack과 Queue (0) | 2022.04.30 |
08. ArrayList와 LinkedList의 비교 (0) | 2022.04.30 |
07. LinkedList 와 배열의 단점 (0) | 2022.04.29 |