[JAVA] 점프 투 자바 #8 맵
[JAVA - 점프 투 자바 #8]
맵
맵은 키 = 값으로 구분하는 자료형
종류 : HashMap, LinkedHashMap, TreeMap
- HashMap
- put
- get
- containsKey
- remove
- size
- keySet
HashMap
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")); // "사람" 출력
}
}
getOrDefault
맵에 해당 key가 없을 때 null 대신 기본값(default)을 얻고 싶다면 getOrDefault 메서드를 사용하면 된다.
System.out.println(map.getOrDefault("java", "자바"));
containsKey
- 해당 key가 있는지 true or false 로 리턴한다.
HashMap<String, String> map = new HashMap<>(); map.put("people", "사람"); map.put("baseball", "야구"); System.out.println(map.containsKey("people")); // true 출력
remove
- 맵의 항목을 삭제하는 메서드
HashMap<String, String> map = new HashMap<>(); map.put("people", "사람"); map.put("baseball", "야구"); System.out.println(map.remove("people")); // "사람" 출력
size
- 맵 요소의 개수를 리턴한다.
HashMap<String, String> map = new HashMap<>(); map.put("people", "사람"); map.put("baseball", "야구"); System.out .println(map.remove(“people”)); // 사람 출력 System.out.println(map.size());
KeySet
- 모든 key를 배열로 리턴한다. ```java 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과 TreeMap***
맵의 가장 큰 특징은 순서에 의존하지 않고 key로 value를 가져오는 것이다. 그런데 가끔 Map에 입력된 순서대로 데이터를 가져오거나 입력한 key에 의해 정렬(sort)하도록 저장하고 싶을 수 있다. 이럴때는 LinkedHashMap과 TreeMap을 사용하면 된다.
LinkedHashMap : 입력된 순서대로 데이터를 저장한다. TreeMap : 입력된 key의 오름차순으로 데이터를 저장한다. ```
댓글