Jump To Java 를 참고하여 작성하였습니다.
프로그래머스 공부하는데 내가 map 자료형을 어색해 한다는 사실을 깨닫고 정리한다.
맵은 대응 관계를 쉽게 알아볼 수 있도록 해 주는 자료형이다.
사전과 비슷하게 key 와 value 값을 한쌍으로 갖고, key 값에 대응하는 value 값을 얻을 수 있다.
맵 자료형은 HashMap, LinkedHashMap, TreeMap 이 있다.
맵 자료형의 가장 큰 특징은 순서에 의존하지 않는다는 것 이다. 따라서 프로그래밍 개발 목적에 따라 잘 선택해서 사용하는 것이 중요하다.
HashMap 의 메서드 정리.
(1) map.put()
import java.util.HashMap;
public class Sample {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
}
}
만약 특정 키의 값이 존재한다면 그 키에 해당하는 value를 변경해 준다
map 자료형에 key와 value 값을 추가한다.
(2) map.get()
import java.util.HashMap;
public class Sample {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.get("people")); // "사람" 출력
}
}
value 값을 얻을 때 사용한다.
(3) getOrDefault()
맵에 해당하는 value 값이 없을 때, get 메서드를 사용하면 null 이 리턴된다. null 대신 기본값 default 를 얻고 싶다면, getOrDefault 메서드를 사용하면 된다.
System.out.println(map.getOrDefault("java", "자바")); // "자바" 출력
(4) containsKey()
(... 생략 ...)
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.containsKey("people")); // true 출력
해당 key 값이 있으면 true, 없으면 false 를 출력한다.
(5) remove()
(... 생략 ...)
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.remove("people")); // "사람" 출력
해당 key 항목을 삭제한 뒤 value 값을 리턴한다.
(6) size()
(... 생략 ...)
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out .println(map.remove(“people”)); // 사람 출력
System.out.println(map.size());
맵 요소의 개수를 리턴한다.
(7) keySet()
import java.util.HashMap;
public class Sample {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<>();
map.put("people", "사람");
map.put("baseball", "야구");
System.out.println(map.keySet()); // [baseball, people] 출력
}
}
LinkedHashMap 은 입력된 순서대로 sort 해 Map 을 가져오는 것이고,
TreeMap 은 입력된 key의 오름차순으로 데이터를 저장하는 것이다.