컬렉션에 저장된 데이터를 읽어올 때 사용
핵심은 위에 두 개 동그라미 표시된 것
hasNext: 읽어올게 남아있는 지 확인
Object next: 읽어오기
1) 확인
2) 읽기
더 이상 읽어올 것이 없으면
false로 리턴
Enumeration은 Iterator의 구버전
거의 같다고 봄
Enumeration이 가진 메서드
이름만 다를 뿐
위의 표처럼 하는 일이 같음
true면 다음 요소 읽어옴
false면 반환
Listlterator는 next 뿐만 아니라
previous도 있다
next: 한방향으로만 감
(다음요소만 읽을 수 있음)
Listlterator는
양방향
다음요소 + 이전요소
읽어올 수 있음
잘은 안 씀
컬렉션: List / Set / Map
컬렉션들 마다 구조가 다르고
요소를 읽어오는 방법이 다 다름
그것을 표준화 한 것이
Iterator
동그라미 친 두 부분만 하면 된다
밑에는 신경 X
<Iterator 사용 방법>
ArrayList인데 Iterator호출하면
그 반환 결과가 Iterator로 된다
(Iterator 객체를 반환)
hasNext: 읽어올 요소가 있는 지 확인한다음
next 호출해서 요소를 읽어 옴
<예제>
ArrayList에 숫자 저장한 것
list에서 Iterator 호출 하면
Iterator 객체를 얻음
그 다음
반복문 이용해서
하나씩 읽어오기
또 반복문 실행하려고 하면
iterator은 1회용이라
새로운 객체를 다시 얻어와서
반복문 실행해야 함
반복문 두 번의 결과 값
for문으로 변경해서 사용한 경우
Map에는 Iterator 없음
Map 인터페이스는
Collection의 자손이 아님
메서드를 이용해서 호출해야 함
HashMap이 있으면
거기서 entrySet을 호출하고
iterator를 사용
entry: key + value 한 쌍
두 줄(박스)를 합쳐 놓은 것이
Iterator it = map.entrySet().iterator();
<실행되는 순서>
1) 실행 결과가 set이 되고
2) 이 set에다가 iterator 얻으면
결과가 iterator 객체가 되고
3) 그 객체의 주소가 it로 (참조변수) 저장 됨
'> 프로그래밍 언어 > JAVA' 카테고리의 다른 글
[ch2-14] 화면으로부터 입력 받기 (2) | 2023.01.27 |
---|---|
[ch6-22] 호출 스택(call stack) (2) | 2023.01.26 |
[ch6-20,21] return문, 반환 값 (0) | 2023.01.24 |
[ch6-17~19] 메서드 호출 (2) | 2023.01.24 |
[ch6-14~16] 메서드란? 메서드의 선언부와 구현부 (0) | 2023.01.23 |