HashMap 개념과 .get(), .put(), .keySet() 사용법 및 간단한 예시 코드 - 개발새발자 작성 일기

개발새발자·2023년 11월 2일
2

자바 개념

목록 보기
14/15

HashMap이란

  • 키(Key)와 값(Value)을 묶어 저장할 수 있는 클래스

HashMap 사용법

HashMap 선언

예시코드

public class HashMapDeclaration {
    HashMap<String,String> map1 = new HashMap<String,String>(); // HashMap 생성
    HashMap<String,Integer> map2 = new HashMap<String,Integer>(); // key가 String, value가 Integer 형태
    HashMap<Integer,String> map3 = new HashMap<Integer,String>(); // key가 Integer, value가 String 형태
    HashMap<Integer,Integer> map4 = new HashMap<Integer,Integer>(); // key가 Integer, value가 Integer 형태

    HashMap<String,String> map5 = new HashMap<>(); // 파라미터 생략 가능

    HashMap<String,String> map6 = new HashMap<>(map1); // map1의 모든 값을 가진 HashMap 생성

    HashMap<String,String> map7 = new HashMap<String,String>(){{ //초기값 지정
        put("a","b");
    }};
}

HashMap.put

  • 값 추가
    예시코드
public class HashMapPut {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<Integer,String>(){{ //초기값 지정
            put(2023,"사과");
            put(11,"바나나");
            put(2,"포도");
        }};

        System.out.println(map); // {2=포도, 2023=사과, 11=바나나} <- hashMap은 입력 순서를 보장하지 않는다

        map.remove(11); //key 값이 11인 요소 제거
        System.out.println(map); // {2=포도, 2023=사과}

        map.clear(); //모든 값 제거
        System.out.println(map); // {}
    }

}

HashMap.get()

  • key 값으로 value 찾기
    예시코드
public class HashMapGet {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<Integer,String>(){{ //초기값 지정
            put(2023,"사과");
            put(11,"바나나");
            put(2,"포도");
        }};

        System.out.println(map); // {2=포도, 2023=사과, 11=바나나} <- hashMap은 입력 순서를 보장하지 않는다

        System.out.println(map.get(11)); // key 값이 11인 value -> 바나나
        System.out.println(map.get(2023)); // key 값이 2023인 value -> 사과

    }
}

HashMap.keySet()

  • HashMap에서 key값만 뽑아 사용

예시코드

public class HashMapKeySet {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<Integer,String>(){{ //초기값 지정
            put(2023,"사과");
            put(11,"바나나");
            put(2,"포도");
        }};

        for (Integer key : map.keySet()) {
            System.out.println(key);
        }
    }
}

결과

2
2023
11

profile
바삭하고 촉촉한 쿠키로 살자

0개의 댓글