-
[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)); }
์์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
'๐ปProgramming > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ํจ์ํ ์ธํฐํ์ด์ค์ ๋๋ค (0) 2024.02.23 [Java] extends์ implements์ ์ฐจ์ด (0) 2023.10.04