JAVA HashMap 반복처리 Iterator 사용 방법

HashMap에 저장되어 있는 키와 값을 출력하는 방법을 보겠습니다.

HashMap은 배열이기 때문에 저장되어 있는 모든 키와 값을 출력하기 위해 반복문을 사용해야 합니다.

리스트 또는 Map 등은 Iterator를 사용해 반복처리를 할 수 있습니다.

Iterator를 사용해 값을 취득해 출력하는 예제를 보겠습니다.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Map;

class HashMapTest {
	public static void main(String[] args) {
              
		// 해쉬 선언
		HashMap map = new HashMap();

  	// 해쉬에 key, value 저장
		map.put("keyTest01", "value01");
		map.put("keyTest02", "value02");
		map.put("keyTest03", "value03");
		map.put("keyTest04", "value04");
		map.put("keyTest05", "value05");
		Set key = map.keySet();
  
		for (Iterator iterator = key.iterator(); iterator.hasNext();) {
			
			String keyValue = (String) iterator.next();
			String valueVar = (String) map.get(keyValue);
   
			System.out.println(keyValue +" = " +valueVar);
		}
	}
}

 

결과

keyTest05 = value05
keyTest04 = value04
keyTest03 = value03
keyTest02 = value02
keyTest01 = value01

 

Iterator에는 hasNext() 메서드가 있습니다.

다음 요소가 있는 경우에는 true를 반환합니다.

hasNext()를 사용한 예제를 보겠습니다.

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import java.util.Map;

public class HashMapTest {
	public static void main(String[] args) {
              
	  // 해쉬 선언
	  HashMap map = new HashMap();

  	// 해쉬에 key, value 저장
		map.put("keyTest01", "value01");
		map.put("keyTest02", "value02");
		map.put("keyTest03", "value03");
		map.put("keyTest04", "value04");
		map.put("keyTest05", "value05");
		Set key = map.keySet();
  
		// Iterator선언
		Iterator<Map.Entry<String, Integer>> itr = map.entrySet().iterator();

		// key, value 취득
 		while(itr.hasNext()) {
			// next를 사용해 값을 취득
			Map.Entry<String, Integer> entry = itr.next();

			System.out.println(entry.getKey() + " : " + entry.getValue());
		}
	}
}

 

결과

keyTest05 : value05
keyTest04 : value04
keyTest03 : value03
keyTest02 : value02
keyTest01 : value01

댓글