[Java] HashMap 사용법 간단 정리

그냥사람·2024년 11월 23일

HashMap으로 값을 빠르게 검색하자

HashMap은 키-값 쌍으로 데이터를 저장하는데, Python의 딕셔너리 자료형에 해당한다.
데이터의 순서를 보장하지 않지만, 내부적으로 해시 함수를 사용하기 때문에 삽입/삭제/조회에 대해
시간 복잡도 O(1)의 강력한 성능을 제공한다.

HashMap 기본 사용법

1. 선언 및 초기화

<> 안에는 키 자료형, 값 자료형이 들어간다.

HashMap<String, Integer> map = new HashMap<>();

2. 데이터 추가 (put)

void 변수명.put(key, value)

키-값 쌍을 HashMap에 추가. (key는 중복이 불가하지만, value는 중복이 가능하다)

map.put("java", 100);

3. 데이터 조회 (get)

V 변수명.get(key)

키를 통해 값을 반환. 반환된 값은 값 자료형(V)이다.

int value = map.get("java"); // 100

4. 데이터 삭제 (remove)

void 변수명.remove(key)

키-값 쌍을 HashMap에서 삭제

map.remove("java");

5. 데이터 존재 여부 확인 (containsKey, containsValue)

Boolean 변수명.containsKey(key)

HashMap에 해당 key가 있는지 여부를 반환

boolean hasKey = map.containsKey("java");

Boolean 변수명.containsValue(value)

HashMap에 해당 value가 있는지 여부를 반환

boolean hasValue = map.containsValue(100);

6. 크기 확인 (size)

int 변수명.size()

HashMap에 키-값 쌍이 몇 개 있는지 반환

int size = map.size();

7. 모든 키 / 모든 값 가져오기 (keySet, values)

Set<K> 변수명.keySet()

HashMap의 키 목록을 Set<key자료형(K)>으로 반환.

Set<String> keys = map.keySet();

Collection<V> 변수명.values()

HashMap의 값 목록을 Collection<value자료형(V)>으로 반환.

Collection<Integer> values = map.values();

8. 순회 (entrySet)

7번의 모든 키 / 모든 값을 이용해 순회할 수도 있고 다음의 방법처럼 HashMap의 모든 키-값 쌍을 불러와 처리할 수도 있다.

Set<Map.Entry<K, V>> 변수명.entrySet()

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    int value = entry.getValue();
}
profile
Simple is Best, 간결하게 살자

0개의 댓글