getOrDefault(key, default)라는 형태로 사용이 되고

map에서 key를 넣은 값이 없을경우에 default값으로 설정하고 있다면 그 값을 꺼내오는 메소드이다.

String s = "AEABFCCBEEFF"

char answer = ' ';
char[] arr = s.toCharArray();
HashMap<Character, Integer> map = new HashMap<>();
for(int i=0; i<s.length();i++) {
    map.put(arr[i], map.getOrDefault(arr[i], 0)+1);
}

int max =0;
for(char c : map.keySet()) {
    if(map.get(c) > max) {
        max = map.get(c);
        answer = c;
    }
}

이런식으로 나열된 알파벳의 개수를 구할 수도 있다.

 

map에 해당하는 알파벳이없다면 0을 return하면서 1을 더하고

 

기존에 값이 있다면 기존값을 더하여 1을 또 더해주기 때문에 카운트가 상승된다.

+ Recent posts