

Map은 key-value의 구조로 구성되어, key 값을 기준으로 value를 저장하고 조회할 수 있도록 한다. 그렇기 때문에 value의 중복은 허용할지라도 key의 중복은 허용하지 않는다.
일반 Map으로도 사용할 수 있지만, HashMap, TreeMap 등으로 응용하여 사용하기도 한다.
Map<{key 자료형}, {value 자료형}> {변수명} = new HashMap<>();
Map<String, Integer> intMap = new HashMap<>();
key 값이 중복되는 것은 허용하지 않으므로, key를 중복된 값으로 추가하려는 경우에는 가장 최근의 key 값으로 덮어쓴다.
{변수명}.put({key}, {value});
intMap.put("일", 11);
intMap.put("이", 12);
intMap.put("삼", 13);
intMap.put("삼", 14); // 중복 Key값은 덮어쓴다.
intMap.put("삼", 15); // 중복 Key값은 덮어슨다.
전달한 key 값으로 value를 조회한다.
{변수명}.get({key});
intMap.get("일"); // value = 11
intMap.get("이"); // value = 12
intMap.get("삼"); // value = 15
key 조회{변수명}.keySet();
intMap.keySet(); // "일", "이", "삼"
value 조회{변수명}.values();
intMap.values(); // 11, 12, 15
{변수명}.remove({key});
intMap.remove("일");
// 남은 데이터: {"이", 12}, {"삼", 15}
Map▫️ HashMap: 중복을 허용하지 않고, 순서도 보장하지 않는다. key와 value로 null을 지정하는 것이 허용된다.
▫️ TreeMap: key 값을 기준으로 정렬이 가능하다. 저장할 때 오름차순 정렬을 하기 때문에 값을 저장(추가)할 때 시간이 상대적으로 오래 걸리는 편.