ABOUT ME

-

오늘
-
어제
-
-
  • Java - HashMap 메소드
    Back-end/Java 2020. 7. 1. 13:52

    HashMap

    HashMap이란 자료구조의 한 종류로서 Keyvalue를 묶어 하나의 entry로 저장한다는 특징을 가집니다.
    그리고 hashing을 사용하기 때문에 많은양의 데이터를 검색하는데 뛰어난 성능을 보입니다.
    이전 포스팅에서는 ArrayList에 대해서 다루었었는데 이와 동등하게 중요하고 자주 사용되는 자료구조인 HashMap을 살펴보도록 하겠습니다.
    작성자인 저 또한 공부하면서 정리하는 부분이기 때문에 틀린 정보가 있을 수 있으니 혹시 틀린점이 있다면 피드백 부탁드립니다. :)

    참고자료 : HashMap (Java 8)

    HashMap 생성

    import java.util.HashMap;
    HashMap<String , Integer> map = new HashMap<String , Integer>();

    HashMap을 사용하려면 객체를 생성해야합니다. import는 java.util.HashMap로 하면 되겠습니다.
    타입은 String, Integer로 선언하였습니다.

    put(K key, V value)

    HashMap에 Key, Value을 삽입하는 메소드입니다.

    map.put("신논현", 1);
    map.put("강남", 2);
    map.put("혜화", 3);
    map.put("안양", 4);
    map.put("수원", 5);

    각 Key, Value에 대한 타입에 맞게 선헌하면 map 객체에 저장됩니다.

    putAll(Map m)

    하나의 Map을 또 다른 Map에 추가하는데 사용됩니다.

            HashMap<String , Integer> map = new HashMap<String , Integer>();
    
                map.put("신논현", 1);
                map.put("강남", 2);
                map.put("혜화", 3);
                map.put("안양", 4);
                map.put("수원", 5);
    
            HashMap<String , Integer> map2 = new HashMap<String , Integer>();
    
                map.put("천안", 6);
                map.put("양평", 7);
                map.put("장성", 8);
                map.put("파주", 9);
                map.put("부산", 10);
    
                map.putAll(map2);

    map에 map2를 넣어주게 되면 map2있던 데이터가 map으로 저장되게 됩니다.

    remove(Object Key)

    하나의 Key를 입력하여 데이터를 삭제합니다.

    HashMap<String , Integer> map = new HashMap<String , Integer>();
    
        map.put("신논현", 1);
        map.put("강남", 2);
        map.put("혜화", 3);
        map.put("안양", 4);
        map.put("수원", 5);
    
        map.remove("신논현");

    remove하게 되면 신논현 이라는 String 타입의 Key를 가진 데이터는 삭제됩니다.

    size()

    HashMap에 저장된 엘리먼트의 개수를 반환합니다.

    HashMap<String , Integer> map = new HashMap<String , Integer>();
    
        map.put("신논현", 1);
        map.put("강남", 2);
        map.put("혜화", 3);
        map.put("안양", 4);
        map.put("수원", 5);
    
        System.out.println(map.size());

    size를 사용하여 총 5개인 것을 확인할 수 있습니다.

    values()

    HashMap에 저장된 엘리먼트들을 전부 컬렉션 형태로 출력합니다.

    HashMap<String , Integer> map = new HashMap<String , Integer>();
    
        map.put("신논현", 1);
        map.put("강남", 2);
        map.put("혜화", 3);
        map.put("안양", 4);
        map.put("수원", 5);
    
        System.out.println(map.values());

    values를 사용하여 총 5개의 엘리먼트가 [] 형태로 출력되는 것을 확인할 수 있습니다.

    isEmpty()

    isEmpty는 컬렉션에서 엘리먼트의 유무를 체크합니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            if (map.isEmpty()) {
                System.out.println("엘리먼트가 없습니다.");
            } else {
                System.out.println("엘리먼트가 있습니다.");
            }

    위 코드에서는 map에 엘리먼트가 있으니 else문을 탈 것입니다. 더 나아가 null체크도 가능하겠죠?

    get(Object Key)

    get은 Key값에 대한 엘리먼트를 가져옵니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            System.out.println(map.get("강남"));

    강남인 Key를 가져와 Value를 출력합니다.

    clear()

    map에 있는 엘리먼트를 깔끔하게 비워냅니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            map.clear();

    clear를 하는 순간 map에 있던 엘리먼트는 모조리 사라집니다.

    clone()

    clone은 해당 map의 엘리먼트드를 복제합니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
        HashMap<String, Integer> map2 = (HashMap<String, Integer>) map.clone();

    map2에 기존 map을 clone하여 주었습니다. 즉, map에 있는 엘리먼트는 map2도 가지고 있게됩니다.

    containsKey(Object Key)

    map의 엘리먼트 중 Key를 포함하고 있는지 여부를 확인합니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            System.out.println(map.containsKey("혜화"));

    만약 엘리먼트 내에 Key가 포함되어있다면 boolean 값으로 true, 아니라면 false가 리턴됩니다.

    containsValue(Object Value)

    map의 엘리먼트 중 Value를 포함하고 있는지 여부를 확인합니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            System.out.println(map.containsValue(5));

    containsKey와 마찬가지로 엘리먼트 내에 Value가 포함되어있다면 boolean 값으로 true, 아니라면 false가 리턴됩니다.

    Set entrySet()

    HashMap에 저장된 Key, Value값을 엔트리(키와 값을 결합)의 형태로 Set에 저장하여 반환합니다.

        HashMap<String , Integer> map = new HashMap<String , Integer>();
    
            map.put("신논현", 1);
            map.put("강남", 2);
            map.put("혜화", 3);
            map.put("안양", 4);
            map.put("수원", 5);
    
            Set set = map.entrySet();
    
            System.out.println(set);

    Set의 형태로 [] 내부에 값이 출력됩니다.


    'Back-end > Java' 카테고리의 다른 글

    Java - ArrayList 메소드  (0) 2020.07.01

    댓글