Collection 인터페이스를 구현한 List와 Set만 쓸 수 있는 일회용 추출기(?)
리스트 자체를 Iterator에 넣고 돌리면
객체가 하나씩 반환 된다!
보통 while문과 같이 사용된다 (예제 확인)
package JavaChapter11;
import java.util.ArrayList;
import java.util.Iterator;
public class Ex11_5 {
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"); //list에 객체 하나씩 넣기
Iterator it = list.iterator(); //그 list를 iterator에 넣기
while(it.hasNext()) { //hasNext() <-iterator에 요소가 들어있나요?(하나씩 커서 옮기듯이 옆으로)
Object obj = it.next(); //있으면 obj에 반환
System.out.println(obj); //obj 출력
}
}
}
it.hasNext() 읽어올 요소가 있나요?
it.next() 요소 읽어오기
그런데,
Map은 Collection 인터페이스를 구현하지 않아서 Iterator로 불러올 수 없다
그럴 땐, Map을 Set으로 변환해서 Iterator에 넣으면 된다!
Map을 Set으로 변환해서 Iterator에 넣기
package JavaChapter11;
import java.util.*;
public class Ex11_5 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>(); //HashMap 만들기
map.put("1","a");
map.put("2","b");
map.put("3","c");
map.put("4","d");
map.put("5","e"); //요소 추가
// Set eSet = map.entrySet();
// Iterator it = eSet.iterator();
//위와 아래는 같은 코드
//맵을 셋으로 변환한 후, iterator로 넣는다
Iterator it = map.entrySet().iterator();
while(it.hasNext()) { //요소 확인
System.out.println(it.next()); //출력
}
}
}
728x90
'개발공부 개발새발 > JAVA' 카테고리의 다른 글
뷰에서 컨트롤러에 데이터를 전송하는 방식은? (0) | 2022.12.29 |
---|---|
JAVA) 바이트/문자 스트림에 대한 고찰 (0) | 2022.11.04 |
JAVA) 자바의 정석 기초편 : ArrayList 예제 (0) | 2022.10.21 |
JAVA) Arrays의 유용한 메서드들 (0) | 2022.10.17 |
JAVA) 클래스는 대체 어디에 생성되는 것일까? (feat.자바 메모리 종류) (1) | 2022.10.08 |