반응형

Hash Map의 사용법 정리

 

예시: 축구선수 1경기의 스탯을 저장하는 해쉬맵. 

슛팅수:0

골수:0

프리킥:0

페널티킥:0

킥정확도:0

유효슛팅:0

이런식으로 각 명칭과 숫자가 있고 킥정확도의 경우 시시각각 변하며, 유효슛팅도 숫자가 늘었다가 이후 줄어들 수 도 있다.

 

선언

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

문자-숫자키 의 쌍으로 된 해쉬맵을 저장하려면 위와 같이한다.

예를들어 슛팅:1 

골포스트:5 

이런식으로 숫자를 넣을때 선언을 위와같이한다.

 

값 넣기

 

//초기에 슛팅 0으로 시작할땐
hm.put("슛팅",0); 
//또는 슛을 할때마다 추가하려면
hm.put("슛팅", hm.getOrDefualt("슛팅",0)+1); //슛팅의 숫자를 가져오는데 없을경우 기본값 0으로 하고 +1을한다.

해쉬맵 출력하기 (EntrySet, KeySet)

 

        for(String key: hm.keySet()){
            if (hm.get(key) == 1){
                answer = key;
            }
        }

hm.get(key) 를하면 키를 넣으면 값을 꺼내준다.

 

EntrySet 은 Key, Value를 보여주는것.

 

 

키를가지고 있는지 확인하는 containsKey 함수

 

 for(String key : hm.keySet()){
           for(int i=1; i<key.length(); i++){
               if(hm.containsKey(key.substring(0,i))){
                   return false;
               }
           }
        }

"33"이라는 키를 가지고있는지 보려면 hm.containsKey("33") 을넣으면 True 또는 False를 리턴한다.

 

 

반응형
Yellongs