키-값을 하나의 쌍으로 묶어서 저장하는 자료구조이다. 다른 언어에서는 딕셔너리(dictionary)라고도 한다. Map은 중복된 키를 가질 수 없다.
사전과 같은 구조이다.
사전의 단어 - 키(key) 라고 부른다
단어에 설명 - 값(value)라고 부른다.
Map은 List와 자료 구조가 상당히 다르다
Collection 인터페이스를 사용하지 않고 별도의 Map이라는 이름의 인터페이스가 제공된다.
Map 인터페이스의 클래스
- HashMap - 해싱 테이블에 저장되고, Key의 정렬이 필요없다면 HashMap이 약간 빠르다.
- TreeMap - 탐색 테이블에 저장되고, 반대로 정렬이 필요하다면 treeMap을 사용한다.
데이터를 저장 할 때에는 put() 메서드를 사용.
데이터를 출력 할 때에는 get() 메서드를 사용.
데이터를 삭제 할 때에는 remove()를 사용하는데 () 안에 정확한 key 값을 입력하여 삭제
데이터 저장은 TreeMap을 사용하면 순서대로 저장 되지만, 출력할 때는 순서대로 나올 것을 보장 받지 못한다.
1. HashMap
package ex13;
import java.util.HashMap;
import java.util.Map;
public class Map01 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
// 추가할 때는 put 사용
map.put("kim", "1234");
map.put("park", "pass");
map.put("lee", "word");
System.out.println(map.get("lee")); // word 출력
for (String key : map.keySet()) {
System.out.println("key:" + key + " // " + "value:" + map.get(key));
}
map.remove("lee"); // 하나의 항목 삭제
map.put("choi", "password"); // 하나의 맵 생성
System.out.println(map);
}
}

2. TreeMap
package ex13;
import java.util.Map;
import java.util.TreeMap;
public class Map02 {
public static void main(String[] args) {
Map<String, String> map = new TreeMap<String, String>();
// 추가할 때는 put 사용
map.put("kim", "1234");
map.put("park", "pass");
map.put("lee", "word");
System.out.println(map.get("lee")); // word 출력
for (String key : map.keySet()) {
System.out.println("key:" + key + " // " + "value:" + map.get(key));
}
map.remove("lee"); // 하나의 항목 삭제
map.put("choi", "password"); // 하나의 맵 생성
System.out.println(map);
}
}

3. LinkedHashMap
package ex13;
import java.util.LinkedHashMap;
import java.util.Map;
public class Map03 {
public static void main(String[] args) {
Map<String, String> map = new LinkedHashMap<>();
// 추가할 때는 put 사용
map.put("kim", "1234");
map.put("park", "pass");
map.put("lee", "word");
System.out.println(map.get("lee")); // word 출력
for (String key : map.keySet()) {
System.out.println("key:" + key + " // " + "value:" + map.get(key));
}
map.remove("lee"); // 하나의 항목 삭제
map.put("choi", "password"); // 하나의 맵 생성
System.out.println(map);
}
}

Share article