Bibi's DevLog ๐ค๐
[Java] ๋งตMap - HashMap,LinkedHashMap,Treemap ๊ฐ๋จ์ค๋ช ๊ณผ HaspMap์ ๋ฉ์๋๋ค ๋ณธ๋ฌธ
๐ฅ BE ๋ฐฑ์๋/Java ์๋ฐ
[Java] ๋งตMap - HashMap,LinkedHashMap,Treemap ๊ฐ๋จ์ค๋ช ๊ณผ HaspMap์ ๋ฉ์๋๋ค
๋น๋น bibi 2020. 11. 9. 20:43์๋ฐ ๋งต - HashMap
wikidocs.net/208. coding-factory.tistory.com/556๊ฐ์ฌํฉ๋๋ค.
- ์๋ฐ์ ๋งตMap ๊ฐ๋
์ ํ์ด์ฌ์ ๋์
๋๋ฆฌdictionary ๊ฐ๋
๊ณผ ๋น์ทํ๋ค.
์ฆ ์ฌ๋ฌ ๊ฐ์ ํคkey : ๊ฐvalue ์์ ์ ์ฅํ๋ ์๋ฃํ์ด๋ค.
(Associative array, Hash ๋ผ๊ณ ๋ ํ๋ค - ํด์ฑhashing์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ HashMap์ด๋ค.
- ๋งต์ ํน์ง
- ๋ฆฌ์คํธ, ๋ฐฐ์ด์ ์์ฐจ์ ์ผ๋ก ๊ฐ์ ๊ตฌํ๋ ๋ฐ๋ฉด,
๋งต์ key๋ฅผ ํตํด value๋ฅผ ์ป๋๋ค. - ํค์ ๊ฐ์ ๋ชจ๋ ๊ฐ์ฒด์ด๋ค.
- ๊ฐvalue์ ์ค๋ณต๋ ์ ์์ง๋ง, ํคkey๋ ์ค๋ณต๋ ์ ์๋ค.
(๋ง์ฝ ํค๊ฐ ์ค๋ณต๋๋ฉด ์๋ก์ด ๊ฐ์ ๋ฎ์ด์ฐ๊ธฐํ๋ค) - ๋์๊ด๊ณ๋ฅผ ์ฝ๊ณ ํํํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
- ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ์ ์ข๋ค.
- ๋ฆฌ์คํธ, ๋ฐฐ์ด์ ์์ฐจ์ ์ผ๋ก ๊ฐ์ ๊ตฌํ๋ ๋ฐ๋ฉด,
- ๋งต์๋ HashMap, LinkedHashMap, TreeMap ๋ฑ์ด ์๋ค. ์ง๊ธ์ ๊ฐ์ฅ ๊ฐ๋จํ hashmap๋ง ์์๋ด.
- LinkedHashMap : ์ ๋ ฅ๋ ์์๋๋ก ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋๋ ํน์ง์ด ์๋ค.
- TreeMap : ์ ๋ ฅ๋ key์ sort์์ผ๋ก ๋ฐ์ดํฐ๊ฐ ์ถ๋ ฅ๋๋ ํน์ง์ด ์๋ค.
- HashMap ์ ์ธ
- HashMap<String, String> map1 = new HashMap<String, String>();
- HashMap : ๋งต์ ์ ํ.
- <String, String> : ํค, ๊ฐ์ ๋ฃ์ ์๋ฃํ.
- map1 : ๋งต์ ์ด๋ฆ.
- new HashMap<String, String>(); ๋ฅผ ๋ฃ์ด ๋์
ํ๋ค.
new์ ์์ <> ์์ String, String์ ์๋ต ๊ฐ๋ฅํ๋ค.
- HashMap<String, String> map2 = new HashMap<>(map1);
- (๋งต ๋ณต์ฌ) map1์ ๋ชจ๋ ๊ฐ์ ๊ฐ์ง ์๋ก์ด HashMap์ธ map2 ์ ์ธ.
- HashMap<String, String> map3 = new HashMap(10, 0.7f);
- (10, 0.7f) : (์ด๊ธฐ์ฉ๋capacity, load factor)์ ํด๋น. ๋ ๊ตฌ๊ธ๋งํด๋ณด๊ธฐ
- HashMap<String, String> map4 = new HashMap<String, String>{{
put("a","b");
}};
- "a","b"์ ๊ฐ์ด map4์ ์ด๊ธฐ๊ฐ์ ์ง์ ํ ์ ์๋ค.
- HashMap<String, String> map1 = new HashMap<String, String>();
- put() : ๋งต์ ๊ฐ ์
๋ ฅ
- map.put("์ฌ๋", "people");
map.put("๊ณ ์์ด", "cat");
- map.put("์ฌ๋", "people");
- get() : ๋งต์์ key์ ํด๋นํ๋ value๊ตฌํ๊ธฐ. key์ ํด๋นํ๋ value๋ฅผ ๋ฐํ.
- map.get("์ฌ๋"); // "people"
- containsKey() : ๋งต์์ key๊ฐ ์๋์ง ํ์ํ๊ธฐ. ์์ผ๋ฉด true,์์ผ๋ฉด false ๋ฐํ.
- map.containsKey("์ฌ๋"); // true
- remove() : ๋งต์์ key์ ํด๋นํ๋ key,value์์ ์ญ์ ํ๊ณ value๊ฐ์ ๋ฐํ.
- map.remove("์ฌ๋"); // ํด์ฌ๋งต map์์ "์ฌ๋"="people" ์์ ์ญ์ ๋๊ณ "people"์ด ๋ฐํ๋จ.
- ์ค์ง key๊ฐ์ผ๋ก๋ง map์ ์์๋ฅผ ์ญ์ ํ ์ ์๋ค.
- clear() : ๋งต์ ๋ชจ๋ ๊ฐ์ ์ ๊ฑฐ.
- size() : ๋งต์ ์์์ ๊ฐฏ์๋ฅผ ๋ฐํ.
- map.size(); // "์ฌ๋" ํญ๋ชฉ์ ์ญ์ ๋์์ผ๋ฏ๋ก map์ ์์์ ๊ฐฏ์๋ 1์ด๋ค.
- ๋งต์ ๊ฐ ์ถ๋ ฅ
- System.out.println(map); // {์ฌ๋=people, ๊ณ ์์ด=cat}
- : ๋งต ์ ์ฒด๋ฅผ ์ถ๋ ฅํ๋ค.
- ๊ทธ ์ธ .keyset(), values(), get(key).. ๋ฑ ๋งต ์ ์ฒด๋ฅผ ์ถ๋ ฅํ๊ฑฐ๋,
key๋ฅผ ๊ฐ์ง๊ณ value๋ง ๊ฐ์ ธ์ค๊ฑฐ๋ item์ ์ฒด๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
- System.out.println(map); // {์ฌ๋=people, ๊ณ ์์ด=cat}
์๋ฐ ํด์ฌ๋งต ๋ฉ์๋๋ค ์ ๋ฆฌ. (๋ก๋ฉ ๋๋ฆผ): junjangsee.github.io/2019/09/18/java/hashmap-Method/ ๊ฐ์ฌํฉ๋๋ค.
(์ฌํ)ํด์๋งต์ ๋์์๋ฆฌ ์ค๋ช : d2.naver.com/helloworld/831311 ๊ฐ์ฌํฉ๋๋ค.