| put(K key, V value) |
키와 값을 추가하거나, 동일한 키가 존재하면 값을 덮어씀 |
map.put("A", 1); |
{"A"=1} |
| putAll(Map<? extends K, ? extends V> m) |
다른 맵의 모든 키-값 쌍을 추가 |
map.putAll(anotherMap); |
다른 맵의 모든 요소 추가됨 |
| putIfAbsent(K key, V value) |
키가 존재하지 않는 경우에만 값을 추가 |
map.putIfAbsent("A", 2); |
이미 존재 시 값이 추가되지 않음 |
| get(Object key) |
지정된 키의 값을 반환 |
map.get("A"); |
1 |
| getOrDefault(Object key, V defaultValue) |
키가 없을 경우 기본값 반환 |
map.getOrDefault("B", 0); |
0 (키 "B"가 없을 경우) |
| remove(Object key) |
지정된 키의 키-값 쌍을 제거 |
map.remove("A"); |
{"A"=1}이 제거됨 |
| remove(Object key, Object value) |
키와 값이 일치하는 경우에만 키-값 쌍 제거 |
map.remove("A", 1); |
{"A"=1}이 정확히 일치 시 제거됨 |
| containsKey(Object key) |
맵에 지정된 키가 있는지 확인 |
map.containsKey("A"); |
true |
| containsValue(Object value) |
맵에 지정된 값이 있는지 확인 |
map.containsValue(1); |
true |
| isEmpty() |
맵이 비어 있는지 확인 |
map.isEmpty(); |
true 또는 false |
| size() |
맵의 키-값 쌍의 개수 반환 |
map.size(); |
0 (비어있는 경우) |
| clear() |
맵의 모든 키-값 쌍 제거 |
map.clear(); |
{} (빈 맵) |
| keySet() |
맵의 모든 키를 Set으로 반환 |
Set<String> keys = map.keySet(); |
["A", "B", "C"] 같은 키의 집합 |
| values() |
맵의 모든 값을 Collection으로 반환 |
Collection<Integer> values = map.values(); |
[1, 2, 3] 같은 값의 모음 |
| entrySet() |
맵의 모든 키-값 쌍을 Set 형태로 반환 |
Set<Map.Entry<String, Integer>> entries = map.entrySet(); |
[A=1, B=2] 같은 엔트리의 집합 |
| replace(K key, V value) |
지정된 키의 값을 새 값으로 대체 |
map.replace("A", 3); |
{"A"=3}으로 대체됨 |
| replace(K key, V oldValue, V newValue) |
키와 값이 일치하는 경우에만 새 값으로 대체 |
map.replace("A", 1, 3); |
조건 일치 시 {"A"=3}으로 대체됨 |
| forEach(BiConsumer<? super K, ? super V> action) |
각 키-값 쌍에 대해 작업 수행 (Java 8 이상) |
map.forEach((k, v) -> System.out.println(k + ":" + v)); |
각 엔트리가 출력됨 |
| compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) |
키에 대해 지정된 연산 수행 및 결과 저장 |
map.compute("A", (k, v) -> v == null ? 1 : v + 1); |
{"A"=2} (A가 이미 존재할 경우) |
| computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) |
키가 없으면 연산 후 추가 |
map.computeIfAbsent("B", k -> 2); |
키 "B"가 없으면 {"B"=2} 추가 |
| computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) |
키가 있을 때만 연산 수행 |
map.computeIfPresent("A", (k, v) -> v + 1); |
키 "A"가 있을 때만 값 변경 |
| merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) |
기존 값과 병합하여 추가 |
map.merge("A", 1, Integer::sum); |
키 "A"가 1 증가하거나 새로 추가됨 |