삼분공부/JAVA

[코딩테스트] 자바 코딩테스트 기초 (2. 해시맵 편)

케이쓰리 2024. 9. 24. 00:01

HashMap

- 키와 값을 쌍으로 저장하는 자료구조, 키는 중복될 수 없다. 당연하지~

import java.util.HashMap;
import java.util.Collection;
import java.util.Set;

HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 2);

System.out.println(map.get("apple"));  // 3
map.remove("banana");
System.out.println(map.size());  // 1


boolean hasApple = map.containsKey("apple");
System.out.println(hasApple);  // true

boolean hasOrange = map.containsKey("orange");
System.out.println(hasOrange);  // false



//모든 키 가져오기
Set<String> keys = map.keySet();
for (String key : keys) {
    System.out.println(key);  // apple, banana
}

// 모든 값 가져오기
Collection<Integer> values = map.values();
for (int value : values) {
    System.out.println(value);  // 3, 5
}


//키가 있어도 없어도 ...
map.compute("apple", (k, v) -> (v == null) ? 1 : v + 1);  // apple이 없으면 1, 있으면 1 더하기
System.out.println(map.get("apple"));  // 1


//두 값 합치기 
map.put("banana", 5);

// 값이 있으면 합쳐서 저장, 없으면 3 저장
map.merge("banana", 3, Integer::sum);  // 5 + 3 = 8
System.out.println(map.get("banana"));  // 8

 

당연히 알아야 하는것들인데 막상 하나하나 적어보려니 어색하다  ㅋㅋ

조금씩이라도 매일 직접 쳐봐야지