Java의 Collection은 여러 가지 자료구조를 지원하고 있으며 그중에서 Map도 아주 자주 사용하는 Collection 중 하나입니다.
Map은 Key와 Value로 이루어진 자료 구조로 간편하게 Key와 Value가 모두 String으로 이루어진 형태도 많이 사용하고 있습니다. 대표적인 것이 Property 파일과 같은 데이터를 다룰 때 사용할 수 있겠습니다. Map은 여러 가지 형태의 자료구조로 구성이 가능하지만 여기서는 간단히 String으로만 이루어진 Map을 다루도록 하겠습니다.
1. Map 자료 입력
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", "value4");
Map은 Key와 Value로 이루어져 있습니다.
put 메서드를 사용하여 Map에 자료를 입력할 수 있습니다.
2. Map 전체 조회
2.1 Iterator 사용
Iterator<String> itor = map.keySet().iterator();
while (itor.hasNext()) {
String key = itor.next();
String value = map.get(key);
System.out.println(key + " - " + value);
}
map의 keySet에서 iterator를 가져와 사용할 수 있습니다.
while 문을 사용하여 iterator에 더 이상 값이 없을 때까지 조회하고 출력합니다.
2.2 Enhanced For문 + Entry 사용
for (Entry<String, String> elem : map.entrySet()) {
String key = elem.getKey();
String value = elem.getValue();
System.out.println(key + " - " + value);
}
Map에서 entrySet을 사용해서 각 Entry를 조회할 수 있습니다.
이를 Enhanced For문을 사용해서 조회하고 출력합니다.
2.3 Enhanced For문
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println(key + " - " + value);
}
Map에서 Key값은 String혹은 숫자를 자주 사용하게 됩니다.
Map에서 KeySet의 값을 Enhanced For문으로 차례대로 조회하고 출력합니다.
3. 전체 프로그램 코드
package codetest;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Main {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
map.put("key4", "value4");
System.out.println("방법1 : Iterator 사용");
// Iterator 사용
Iterator<String> itor = map.keySet().iterator();
while (itor.hasNext()) {
String key = itor.next();
String value = map.get(key);
System.out.println(key + " - " + value);
}
System.out.println("-----------------------------------");
System.out.println("방법2 : Enhanced For문 + Entry 사용");
// Enhanced for문 + Entry 사용
for (Entry<String, String> elem : map.entrySet()) {
String key = elem.getKey();
String value = elem.getValue();
System.out.println(key + " - " + value);
}
System.out.println("-----------------------------------");
System.out.println("방법3 : Enhanced For문 사용");
// Enhanced for문 사용
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println(key + " - " + value);
}
}
}
'Dev. Cookbook > Java, JSP' 카테고리의 다른 글
[java] jsp에서 forward vs redirect, 포워드와 리다이렉트 비교 (2) | 2023.11.28 |
---|---|
[java] Oracle 버전 별 JDBC Driver 다운로드 및 호환성 확인 (0) | 2022.05.25 |
[JSP] JSTL 버전 구분 (0) | 2022.05.24 |
[Java] 상대경로, 절대 경로, 정규 경로(표준 경로), getPath(), getCanonicalPath(), getAbsolutePath() 차이점 (1) | 2022.04.27 |
[Java] printf() 한글 문자열 포맷 오류 해결방법 (3) | 2022.04.25 |
댓글