ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] HashMap ์‚ฌ์šฉ๋ฒ•
    ๐Ÿ’ปProgramming/Java 2024. 3. 10. 22:44

    ์ฝ”ํ…Œ๋ฅผ ํ’€ ๋•Œ ์ค‘์š”ํ•œ HashMap์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ๋‹ค. 

    ์šฐ์„  HashMap์€ Map<K, V> ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋กœ, 'ํ‚ค(key)'์™€ '๊ฐ’(value)'์˜ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์š”์†Œ์ด๋‹ค.

    ํ•ด์‹œ๋งต์€ ๋‚ด๋ถ€์— 'ํ‚ค'์™€ '๊ฐ’'์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ํ˜น์€ ์‚ญ์ œ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    HashMap์˜ ์„ ์–ธ๊ณผ ์‚ฌ์šฉ

    HashMap<String, String> map = new HashMap<String, String>();	// ํ•ด์‹œ๋งต ์ƒ์„ฑ
    map.put("apple", "์‚ฌ๊ณผ");	// ๊ฐ’์„ ์‚ฝ์ž…. ๋งŒ์•ฝ์— ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๋ฉด, ์ˆ˜์ •๋จ.
    String kor = h.get("apple"); 	// ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ฒ€์ƒ‰.

    HashMap<String, String> ์ปฌ๋ ‰์…˜์˜ ๋‚ด๋ถ€ ๊ตฌ์„ฑ

     

    HashMap์˜ ์žฅ๋‹จ์ 

    1. ์š”์†Œ์˜ ์‚ฝ์ž…, ์‚ญ์ œ ์‹œ๊ฐ„์ด ๋งค์šฐ ๋น ๋ฅด๋‹ค. ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ, Vector<E>๋‚˜ ArrayList<E>์™€ ๋‹ฌ๋ฆฌ ์š”์†Œ์˜ ์‚ฝ์ž… / ์‚ญ์ œ ์‹œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค์˜ ์œ„์น˜ ์ด๋™์ด ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

     

    2. ์š”์†Œ ๊ฒ€์ƒ‰์€ ๋”์šฑ ๋น ๋ฅด๋‹ค. ํ•ด์‹œ๋งต์˜ get(key) ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ํ•ด์‹œ ํ•จ์ˆ˜๊ฐ€ key๊ฐ€ ์ €์žฅ๋œ ์œ„์น˜๋ฅผ ๋‹จ๋ฒˆ์— ์ฐพ์•„๋‚ด๋ฏ€๋กœ, Vector<E>๋‚˜ ArrayList<E>์—์„œ์ฒ˜๋Ÿผ ๋ชจ๋“  ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋Š” ์‹œ๊ฐ„ ๋‚ญ๋น„๊ฐ€ ์ „ํ˜€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

     

    3. ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ณ  ์˜ค์ง "ํ‚ค"๋กœ๋งŒ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋‹จ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋น ๋ฅธ ์‚ฝ์ž…๊ณผ ๊ฒ€์ƒ‰์ด ํ•„์š”ํ•œ ์‘์šฉ์— ์ ํ•ฉ.

    HashMap<K, V> ํด๋ž˜์Šค์˜ ์ฃผ์š” ๋ฉ”์†Œ๋“œ

    ์ด ํ‘œ์— ์—†๋Š” ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋‹ค

     

    getOrDefault(K, DefaultValue)

    HashMap<Character, Integer> map=new HashMap<>();
    map.getOrDefault('A', 0);

    ์ฝ”ํ…Œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ๋กœ, ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ’์„ ์ฐพ๊ณ  ์‹ถ์€ ํ‚ค ๊ฐ’์„ ๋„ฃ๊ณ , ๋งŒ์•ฝ์— ํ•ด๋‹นํ•˜๋Š” ํ‚ค๊ฐ€ null์ผ ๊ฒฝ์šฐ์— ์ง€์ •ํ•ด์ค„ ๊ฐ’์„ ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋„ฃ์–ด์ฃผ๋ฉด NullPointerException์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.

     

    KeySet()

    ๋˜ํ•œ ์œ„์˜ ํ‘œ์— ๋ช…์‹œ๋˜์–ด ์žˆ๋Š” KeySet()์ด๋ž€ ๋ฉ”์„œ๋“œ๋Š” ํ•ด์‹œ๋งต์˜ ์ „์ฒด ๊ฒ€์ƒ‰์„ ํ•˜๊ณ  ์‹ถ์„๋•Œ ๋งค์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค.

    for(char key : map.keySet()){
        System.out.println(key+" "+map.get(key));
    }

    ์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

Designed by Tistory.