map 활용 시 많이 쓰이는 함수
getOrDefault(Object key, V DefaultValue)
찾는 key가 존재하면 해당 key에 매핑되어 있는 값을 반환하고 그렇지 않으면 디폴트 값 반환
import java.util.HashMap;
public class MapGetOrDefaultEx {
public static void main(String arg[]) {
String [] alphabet = { "A", "B", "C" ,"A"};
HashMap<String, Integer> hm = new HashMap<>();
for(String key : alphabet) hm.put(key, hm.getOrDefault(key, 0) + 1);
System.out.println("결과 : " + hm);
// 결과 : {A=2, B=1, C=1}
}
}
이렇게 이용하면 키가 이미 존재하는 경우 원래 value+1로 바뀌고 키가 존재하지 않는 경우 1이 들어가게 된다.
hashmap 간 비교
equals 사용 가능
HashMap<Integer, String> map1 = new HashMap<>();
map1.put(1, "A");
map1.put(2, "B");
map1.put(3, "C");
//Same as map1
HashMap<Integer, String> map2 = new HashMap<>();
map2.put(3, "C");
map2.put(1, "A");
map2.put(2, "B");
//Different from map1
HashMap<Integer, String> map3 = new HashMap<>();
map3.put(1, "A");
map3.put(2, "B");
map3.put(3, "C");
map3.put(3, "D");
System.out.println(map1.equals(map2)); //true
System.out.println(map1.equals(map3)); //false
오늘의 회고
- ide 없이도 관련 함수를 잘 이용할 수 있도록 꾸준히 연습해야 한다.
- 내일(4/6) 학습 예정 : 스프링부트 온라인 강의 듣기
'algorithm > 정리' 카테고리의 다른 글
이분탐색 추가 - Upper Bound(상한), Lower Bound(하한) (0) | 2024.04.08 |
---|---|
이분탐색 (0) | 2024.04.05 |
정렬 알고리즘 (거품, 선택, 삽입, 퀵, 병합, 힙, 계수 정렬) (0) | 2024.04.04 |
Backtracking (0) | 2024.04.03 |
99클럽 코테 스터디 3일차 TIL - java String / java 약수 구하기 최적화 알고리즘 (0) | 2024.04.03 |