JAVA/자바

Iterator와 map의 반복문

간펴니 2021. 8. 6. 20:32
728x90

Iterator는 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다.

컬렉션 프레임워크란 데이터를 저장하는 클래스들을 표준화한 설계이다.

컬렉션 프레임워크는 데이터를 저장하는 구조에 따라 3가지 인터페이스로 구성된다

 

 

 

set은 순서를 유지하지 않는 데이터 집합, 중복x

list는 순서를 유지하는 데이터 집합, 중복o

map은 키와 값으로 이루어진 데이터의 집합. 순서유지 x 키의 중복x

 

Iterator 메소드에는 hasNext(), next(), remove()가 있다.

각각의 기능은 다음과 같다.

 

hasNext() : 읽어올 요소가 남아있는지 확인하는 메소드이다. 요소가 있으면 true, 없으면 false

next() : 다음 데이터를 반환한다.

remove() : next()로 읽어온 요소를 삭제한다.




 

반복문을 사용해서 Map의 key와 value를 가져오고 싶을때

 

Map.Entry<> 를 사용할 수있다

 

Iterator를 이용해서 map의 key와 value를 사용하는 예제

	Iterator<Map.Entry<String, Integer>> iter = map.entrySet().iterator();
		
		while(iter.hasNext()) {
			Map.Entry<String, Integer> entry = iter.next();
			if(entry.getValue() != 0) {
				answer = entry.getKey();
				break;
			}
		}
		return answer;

 

 

for문을 사용하는 예제

Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
    System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
728x90