getOrDefault

getOrDefault

์ฐพ๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ฐพ๋Š” ํ‚ค์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

getOrDefault(Object key, V DefaultValue) ๋งค๊ฐœ ๋ณ€์ˆ˜: ์ด ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๊ฐœ์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

key: ๊ฐ’์„ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ์š”์†Œ์˜ ํ‚ค์ž…๋‹ˆ๋‹ค. defaultValue: ์ง€์ •๋œ ํ‚ค๋กœ ๋งคํ•‘๋œ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๋˜์–ด์•ผ ํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜ ๊ฐ’: ์ฐพ๋Š” key๊ฐ€ ์กด์žฌํ•˜๋ฉด ํ•ด๋‹น key์— ๋งคํ•‘๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋””ํดํŠธ ๊ฐ’์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ getOrDefault ๋ฉ”์„œ๋“œ์˜ ์‚ฌ์šฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

import java.util.HashMap;

public class MapGetOrDefaultEx {
    public static void main(String arg[]) {
        String[] alphabet = {"A", "B", "C", "A"};
        HashMap<String, Integer> hashmap = new HashMap<>();
        for (String key : alphabet) hashmap.put(key, hashmap.getOrDefault(key, 0) + 1);
        System.out.println("๊ฒฐ๊ณผ : " + hashmap);
        // ๊ฒฐ๊ณผ : {A=2, B=1, C=1}
    }
}

HashMap์˜ ๊ฒฝ์šฐ ๋™์ผ ํ‚ค ๊ฐ’์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ Value์˜ ๊ฐ’์ด ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ ๊ธฐ์กด key ๊ฐ’์˜ value๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ getOrDefault ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์˜ ์˜ˆ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜: ์ฝ”๋”ฉ ์‹œ๊ทธ๋„:ํ‹ฐ์Šคํ† ๋ฆฌ

Leave a comment