Java HashMap 클래스는 key-value 쌍을 저장하는 데 사용되는 자료 구조입니다. 이 클래스는 매우 유용하며 다양한 용도로 사용될 수 있습니다.
put(key, value)
새로운 key-value 쌍을 HashMap에 추가합니다.
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("cherry", 3);
putAll(map)
다른 HashMap에 있는 모든 key-value 쌍을 현재 HashMap에 추가합니다.
HashMap<String, Integer> map2 = new HashMap<>();
map2.put("durian", 4);
map2.put("elderberry", 5);
map.putAll(map2);
get(key)
주어진 key에 해당하는 value를 반환합니다.
Integer value = map.get("banana");
System.out.println(value); // 2
remove(key)
주어진 key와 해당하는 value를 HashMap에서 제거합니다.
map.remove("cherry");
System.out.println(map); // {apple=1, banana=2, durian=4, elderberry=5}
replace(key, value)
주어진 key에 해당하는 value를 새 값으로 대체합니다.
map.replace("banana", 6);
System.out.println(map); // {apple=1, banana=6, durian=4, elderberry=5}
clear()
HashMap의 모든 key-value 쌍을 제거합니다.
map.clear();
System.out.println(map); // {}
size()
HashMap에 저장된 key-value 쌍의 수를 반환합니다.
int size = map.size();
System.out.println(size); // 0
isEmpty()
HashMap이 비어있는지 여부를 반환합니다.
boolean isEmpty = map.isEmpty();
System.out.println(isEmpty); // true
containsKey(key)
HashMap이 주어진 key를 포함하고 있는지 여부를 반환합니다.
boolean containsKey = map.containsKey("apple");
System.out.println(containsKey); // false
containsValue(value)
HashMap이 주어진 value를 포함하고 있는지 여부를 반환합니다.
boolean containsValue = map.containsValue(1);
System.out.println(containsValue); // false
keySet()
HashMap에 저장된 모든 value를 Collection으로 반환합니다.
Set<String> keys = map.keySet();
System.out.println(keys); // []
values()
HashMap에 저장된 모든 value를 Collection으로 반환합니다.
Collection<Integer> values = map.values();
System.out.println(values); // []
entrySet()
HashMap에 저장된 모든 key-value 쌍을 Set으로 반환합니다.
Set<Map.Entry<String, Integer>> entries = map.entrySet();
System.out.println(entries); // []
getOrDefault(key, defaultValue)
주어진 key에 해당하는 value를 반환합니다. key가 없는 경우 defaultValue를 반환합니다.
Integer value = map.getOrDefault("banana", 0);
System.out.println(value); // 0
computeIfAbsent(key, mappingFunction)
주어진 key에 해당하는 value가 없는 경우 mappingFunction을 사용하여 새 값을 계산하고 HashMap에 추가합니다.
map.computeIfAbsent("mango", k -> 7);
System.out.println(map); // {mango=7}
computeIfPresent(key, remappingFunction)
주어진 key에 해당하는 value가 있는 경우 remappingFunction을 사용하여 값을 다시 계산하고 HashMap에 추가합니다.
map.computeIfPresent("mango", (k, v) -> v * 2);
System.out.println(map); // {mango=14}
compute(key, remappingFunction)
주어진 key에 해당하는 value가 있으면 remappingFunction을 사용하여 값을 다시 계산하고 HashMap에 추가합니다. 값이 없는 경우 새 값을 계산하고 추가합니다.
map.compute("mango", (k, v) -> v * 3);
System.out.println(map); // {mango=42}
map.compute("grape", (k, v) -> 5);
System.out.println(map); // {mango=42, grape=5}
merge(key, value, remappingFunction)
주어진 key에 해당하는 value가 있으면 remappingFunction을 사용하여 값을 병합하고 HashMap에 추가합니다. 값이 없는 경우 새 값을 추가합니다.
map.merge("mango", 5, (v1, v2) -> v1 + v2);
System.out.println(map); // {mango=47, grape=5}
map.merge("apple", 10, (v1, v2) -> v1 + v2);
System.out.println(map); // {mango=47, grape=5, apple=10}
forEach(action)
HashMap의 모든 key-value 쌍에 대해 주어진 action을 수행합니다.
map.forEach((key, value) -> System.out.println(key + ":" + value));
// mango:47
// grape:5
// apple:10
replaceAll(function)
HashMap의 모든 value에 대해 주어진 function을 적용하여 값을 대체합니다.
map.replaceAll((key, value) -> value + 1);
System.out.println(map); // {mango=48, grape=6, apple=11}
equals(obj)
주어진 객체와 HashMap이 동일한지 여부를 반환합니다.
HashMap<String, Integer> map3 = new HashMap<>();
map3.put("mango", 48);
map3.put("grape", 6);
map3.put("apple", 11);
boolean isEqual = map.equals(map3);
System.out.println(isEqual); // true
hashCode()
HashMap의 해시 코드를 반환합니다.
int hashCode = map.hashCode();
System.out.println(hashCode); // 104042587
위의 예제들은 HashMap 클래스의 모든 메소드와 그 예제를 보여줍니다. HashMap 클래스는 매우 유용하며 다양한 용도로 사용될 수 있습니다. HashMap 클래스를 사용할 때에는 메소드의 사용법과 예외 처리 등을 꼼꼼히 살펴보는 것이 좋습니다.
'Java' 카테고리의 다른 글
Java HashMap 생성 및 초기화하는 방법 6가지 (0) | 2023.04.23 |
---|---|
JAVA에서 가장많이 사용되는 MAP의 종류와 특징 (0) | 2023.04.23 |
DTO, DAO, VO: 데이터베이스에서의 역할과 차이점에 대한 이해 (0) | 2023.04.20 |
자바에서 오버로딩과 오버라이딩: 예시와 함께 알아보기 (0) | 2023.03.08 |
JAVA 객체지향에 대한 이해 (쉬운 설명과 예제) (0) | 2023.03.07 |
댓글