Beny's Study

10. Iterator, ListIterator, Enumeration 본문

[JAVA]/13. 제네릭과 컬렉션

10. Iterator, ListIterator, Enumeration

76beny 2022. 4. 30. 22:17

목차

- 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