Information Security Study

해시맵 개념과 예제 본문

Programming/JAVA

해시맵 개념과 예제

gayeon_ 2024. 9. 17. 13:38

HashMap

  • key, Value 형태로 저장되는 자료구조
  • 데이터 저장 시 Key 값으로 Value 저장 위치를 결정
  • 데이터 저장 위치를 해시함수로 정하기 때문에 검색이 빠름
  • Key 값 중복 불가
  • Key 값이 다른 경우 Value는 중복 가능

 

 

HashMap 메서드 및 예제

import java.util.HashMap;
import java.util.Map;

public class HashMapExample {
    public static void main(String[] args) {
        // HashMap 생성
        HashMap<String, Integer> map = new HashMap<>();

        // put(K key, V value) - 키와 값을 추가
        map.put("Alice", 30);
        map.put("Bob", 25);
        map.put("Charlie", 35);

        // get(Object key) - 키로 값을 조회
        System.out.println("Alice's age: " + map.get("Alice")); // 출력: Alice's age: 30

        // containsKey(Object key) - 키의 존재 여부 확인
        System.out.println("Is Bob in the map? " + map.containsKey("Bob")); // 출력: Is Bob in the map? true

        // containsValue(Object value) - 값의 존재 여부 확인
        System.out.println("Does map contain age 25? " + map.containsValue(25)); // 출력: Does map contain age 25? true

        // remove(Object key) - 키와 해당 값을 제거
        map.remove("Charlie");
        System.out.println("Map after removing Charlie: " + map); // 출력: Map after removing Charlie: {Alice=30, Bob=25}

        // size() - 맵의 크기 (키-값 쌍의 수)
        System.out.println("Size of the map: " + map.size()); // 출력: Size of the map: 2

        // keySet() - 맵의 모든 키를 Set으로 반환
        System.out.println("Keys: " + map.keySet()); // 출력: Keys: [Alice, Bob]

        // values() - 맵의 모든 값을 Collection으로 반환
        System.out.println("Values: " + map.values()); // 출력: Values: [30, 25]

        // entrySet() - 맵의 모든 엔트리를 Set으로 반환 (키-값 쌍)
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }
        // 출력:
        // Key: Alice, Value: 30
        // Key: Bob, Value: 25

        // clear() - 모든 엔트리를 제거
        map.clear();
        System.out.println("Map after clear: " + map); // 출력: Map after clear: {}
    }
}