Map : 키-값 쌍을 저장하는 자료구조
- 각 키는 유일해야 한다.
- 키를 통해 해당 값을 검색하거나 수정할 수 있다.
- 구현체로 HashMap, TreeMap, LinkedHashMap 등이 있다.
Map 생성과 추가 (put 메소드)
Map<String, Integer> map = new HashMap<>(); // Key는 String, Value는 Integer인 HashMap 생성
map.put("BFS", 3); // 키 "BFS"에 대한 값을 3으로 추가
map.put("DFS", 2); // 키 "DFS"에 대한 값을 2로 추가
map.put("DP", 5); // 키 "DP"에 대한 값을 5로 추가
값 불러오기 (get 메소드)
int appleCount = map.get("BFS"); // 키 "BFS"에 대한 값 가져오기 (여기서 BFS은 3)
값 수정 (map 원소를 추가할 때처럼 put 메소드)
int num = map.put("BFS", 4); // 키 "BFS"에 대한 값을 4로 수정
반환하는 값은, 해당 키가 이전에 갖고 있었던 값이다.(위에서는 원래 값이 3이었으므로 3 반환됨)
만약 이전에 해당 키에 대응되는 값이 없었다면 null 반환
값 삭제 (remove)
map.remove("DFS"); // 키 "DFS"와 해당 값 삭제
모든 키 또는 값 가져오기 (keySet, values)
Set<String> keys = map.keySet(); // 모든 키를 가져오기
Collection<Integer> values = map.values(); // 모든 값들을 가져오기
getOrDefault(Object key,V DefaultValue)
찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메소드
- key : 값을 가져와야 하는 요소의 키
- defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환되어야 하는 기본값
- 반환 값 : 찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고, 그렇지 않으면 디폴트 값이 반환
int num = map.getOrDefault("DP", 0);
위에서는 키 DP에 5값을 저장해뒀으므로 5가 반환된다.
하지만 만약 매핑되는 값이 없었ㄷ다면 defaultValue를 0으로 지정했기때문에 0이 반환된다.
firstKey(), lastKey()
TreeMap에서만 사용할 수 있으며, 메소드를 사용하여 첫 번재 키와 마지막 키를 가져올 수 있다.
(TreeMap은 정렬되어 저장되기 때문에 위와같은 메소드 사용이 가능하다.)
String firstKey = treeMap.firstKey(); // 첫 번째 키 가져오기
String lastKey = treeMap.lastKey(); // 마지막 키 가져오기
만약 TreepMap에서 키-값 쌍을 가져오고 싶다면 아래와 같다.
Map.Entry<String, Integer> firstEntry = treeMap.firstEntry(); // 첫 번째 키-값 쌍 가져오기
Map.Entry<String, Integer> lastEntry = treeMap.lastEntry(); // 마지막 키-값 쌍 가져오기
'JAVA' 카테고리의 다른 글
[JAVA] Iterator 사용법 (0) | 2023.08.07 |
---|