Java에서 Map은 키와 값을 쌍으로해서 값을 보관 할수 있습니다.

Map에서 값을 꺼내오기 위해서는 가 필요합니다.

를 모른다면 당연히 값을 꺼내올수가 없죠.


하지만 키를 몰라도 Map에 있는 값들을 다 가져올수 있습니다.

Iterator로 가져오는 방법, Map.entrySet으로 가져오는 방법, Map.keySet로 가져오는 방법

그이외의 방법이 있는지는 모르겠습니다.


Iterator로 가져오는 방법이 주로 사용되는 방법이라고 생각됩니다.

검색하면 제일 많이 나오거든요....저두 주로 사용해 왔고...^^;


그럼, 어떻게 내용을 가져오는지 샘플 소스로 확인 해보시길.....


[샘플 소스]

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
 
public class JavaMap {
 
	/**
	 * @param args
	 */
	public static void main(String[] agrs) {
 
		Map<String, Object> map = new HashMap<String, Object>();
 
		for (int i = 0; i < 10; i++) {
			map.put("key"+i, "value"+i);
		}
 
		System.out.println("ex1)----- Iterator");
		Iterator<String> keys = map.keySet().iterator();
		while (keys.hasNext()) {
			String key = keys.next();
			System.out.printf("%s = %s \n", key, map.get(key));
		}
		System.out.println("------------------");
		System.out.println();
 
		System.out.println("ex2)----- Map.Entry");
		for (Map.Entry<String, Object> elem : map.entrySet()) {
			System.out.printf("%s = %s \n", elem.getKey(),
					elem.getValue());
		}
		System.out.println("------------------");
		System.out.println();
 
		System.out.println("ex3)----- Map.keySet");
		for (String key : map.keySet()) {
			System.out.printf("%s = %s \n", key, map.get(key));
		}
		System.out.println("------------------");
		System.out.println();
 
	}
 
}



[실행 결과]

JavaMap.PNG



나오는 결과는 다 똑같습니다. 틀리면 이상하겠지만....^^;

어떤걸 사용할지는 각자 알아서 맘에드는걸 사용해 보세요....


감사합니다.