๐Ÿ’ก (Java) Map์˜ getOrDefault()

๋ฐ•ํ˜„์•„ยท2024๋…„ 10์›” 26์ผ
0

๊ธฐ์ดˆ

๋ชฉ๋ก ๋ณด๊ธฐ
17/31

๐Ÿ’ก Map์˜ getOrDefault("key", default)

getOrDefault() ๋ฉ”์„œ๋“œ๋Š” Java์˜ Map ์ธํ„ฐํŽ˜์ด์Šค์— ์ถ”๊ฐ€๋œ ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ๋กœ, ํŠน์ • ํ‚ค๊ฐ€ ์กด์žฌํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ํ‚ค์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ณ , ํ‚ค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ‚ค๊ฐ€ ์—†์„ ๋•Œ null์„ ๋ฐ˜ํ™˜๋ฐ›์ง€ ์•Š๊ณ , ์›ํ•˜๋Š” ๊ธฐ๋ณธ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์‹œ

import java.util.HashMap;

public class GetOrDefaultExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        
        // ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
        map.put("Alice", 3);
        map.put("Bob", 5);
        
        // "Alice"๋ผ๋Š” ํ‚ค๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์„ ๋ฐ˜ํ™˜
        int aliceCount = map.getOrDefault("Alice", 0);
        System.out.println("Alice: " + aliceCount); // ์ถœ๋ ฅ: Alice: 3

        // "Charlie"๋ผ๋Š” ํ‚ค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์ธ 0์„ ๋ฐ˜ํ™˜
        int charlieCount = map.getOrDefault("Charlie", 0);
        System.out.println("Charlie: " + charlieCount); // ์ถœ๋ ฅ: Charlie: 0

        // "Alice"๋ผ๋Š” ํ‚ค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์— ๊ฐ’ ์—…๋ฐ์ดํŠธ
        map.put("Alice", map.getOrDefault("Alice", 0) + 1); // ๊ธฐ์กด ๊ฐ’์— 1 ์ถ”๊ฐ€
        System.out.println("Alice (after update): " + map.get("Alice")); // ์ถœ๋ ฅ: Alice (after update): 4
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ

Alice: 3
Charlie: 0
Alice (after update): 4

์„ค๋ช…

  • map.getOrDefault("Alice", 0): "Alice"๋ผ๋Š” ํ‚ค๊ฐ€ map์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๊ฐ’์ธ 3์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • map.getOrDefault("Charlie", 0): "Charlie"๋ผ๋Š” ํ‚ค๊ฐ€ map์— ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ๊ฐ’ 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๊ฐ’์ด ์กด์žฌํ•  ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ: map.getOrDefault("Alice", 0) + 1๋กœ "Alice"์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€ 1์„ ๋”ํ•œ ํ›„, ๋‹ค์‹œ "Alice"์— ์ €์žฅํ•˜์—ฌ ๊ฐ’์ด 4๋กœ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€

Powered by GraphCDN, the GraphQL CDN