[Java] HashMap에서 key값들 가져오기.

2021-12-13


Photo by Dillon Wanner on Unsplash

hashmap은 순서가 보장된 자료구조가 아니기 때문에 list와는 달리 루프를 돌면서 데이터를 가져올 수 없다. 때문에 iterator를 이용해 키값들을 추출하고, 해당 키값이 저장된 iterator를 이용해 hashmap의 전체 value 값들을 가져와야 한다. 오늘은 이와 같은 방법을 알아보자.


- 예제

 

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

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
public class HashMapTest {

	@Test
	public void hashMapLoop() {

		//임의의 map을 생성
		Map<String, String> map = new HashMap<String, String>();
		map.put("name", "king");
		map.put("age", "25");
		map.put("gender", "man");
		map.put("nick", "kingking");

		//map에 키값과 같은 제네릭을 선언한 iterator에 map 키값들을 넣는다.
		Iterator<String> it = map.keySet().iterator(); 

		//키값이 존재할동안 반복
		while(it.hasNext()) {
			String key = it.next();
			System.out.println(" =================== key -> " + key);
			System.out.println(" =================== value ->" + map.get(key));
		}
	}
}

 

위의 코드와 같이 생성된 map 객체의 키값들을 iterator에 담고, while문에서 iterator에 값이 존재하는 동안 키값들을 추출하면 아래와 같은 결과를 얻을 수 있다. 앞서 말해듯이 hashmap은 순서가 보장되지 않기 때문에 실행하다 순서가 바뀔 수 있다.


메인 이미지 출처: Photo by Dillon Wanner on Unsplash