
Map : 키-값을 하나의 쌍으로 묶어서 저장하는 자료구조
단어(key) + 설명(value) // 사전과 같은 자료구조
다른 언어에서 : 딕셔너리(dictionary)
중복된 키를 가질 수 없음
키가 제시되면 값을 반환
키는 오직 하나의 값에만 매핑될 수 있음
** 매핑 : 어떤 key와 value 간의 관계를 설정하는 것
put() : 데이터 저장
get() : 값을 추출
List와는 상당히 다름
Map이라는 인터페이스를 제공함
Map이 제공하는 클래스의 종류
- HashMap : Hash 테이블에 데이터를 저장
- TreeMap : 탐색 트리에 데이터를 저장
- LinkedHashMap
HashMaps 초기화
Map<자료형, 자료형> 이름 = Map.of(key 값, value 값 쌍으로 초기화할 내용)
package ex13;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("kim", "1234");
map.put("park", "pass");
map.put("lee", "word");
System.out.println(map.get("lee"));
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println("key=" + key + ", value=" + value);
}
map.remove(3);
map.put("choi", "password");
System.out.println(map);
}
}

Map의 모든 요소 방문하기
1) for each문과 keySet() 사용
for(String key : map.keySet()) {
System.out.println("key=" + key + ", value=" + m.get(key));
}
for(var key : map.keySet()) { // 변수 타입 추론 가능
System.out.println("key=" + key + ", value=" + m.get(key));
}
2) 반복자 사용
Iterator<String> it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next();
System.out.println("key=" + key + ", value=" + m.get(key));
}
3) Stream 라이브러리 사용
map.foreach ( (key, value) -> {
System.out.println("key=" + key + ", value=" + value);
});
Share article