https://ybdeveloper.tistory.com/44
Map ์ธํฐํ์ด์ค
Map ์ธํฐํ์ด์ค๋ key์ value๋ฅผ ํ๋์ ์์ผ๋ก ๋ฌถ์ด์ ์ ์ฅํ๋ ์ปฌ๋ ์ ํด๋์ค๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. key๋ ์ค๋ณต๋ ์ ์์ง๋ง value๋ ์ค๋ณต์ ํ์ฉํฉ๋๋ค. ๊ธฐ์กด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ค๋ณต๋ key์ value๋ฅผ ์ ์ฅํ๋ฉด, ๊ธฐ์กด์ value๋ ์์ด์ง๊ณ ๋ง์ง๋ง์ ์ ์ฅ๋ value๊ฐ ๋จ๊ฒจ์ง๊ฒ ๋ฉ๋๋ค. Map ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ก๋ Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap ๋ฑ์ด ์์ต๋๋ค.
HashMap๊ณผ Hashtable
Hashtable๊ณผ HashMap์ ๊ด๊ณ๋ Vector์ ArrayList์ ๊ด๊ณ(๊ตฌ๋ฒ์ , ์ ๋ฒ์ )์ ๊ฐ์์ ์ ๋ฒ์ ์ธ HashMap์ ์ฌ์ฉํ ๊ฒ์ ๊ถํฉ๋๋ค. HashMap์ Map์ ๊ตฌํํ์ผ๋ฏ๋ก ์์์ ์ธ๊ธํ Map์ ํน์ง, Key์ Value๋ฅผ ๋ฌถ์ด์ ํ๋์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ๋ค๋ ํน์ง์ ๊ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด์ฑ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋๋ฐ ์์ด์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค.
TreeMap
TreeMap์ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด TreeSet์ฒ๋ผ ์ด์ง๊ฒ์ํธ๋ฆฌ์ ํํ๋ก ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฒ์๊ณผ ์ ๋ ฌ์ ๊ต์ฅํ ํจ์จ์ ์ธ ์ปฌ๋ ์ ํด๋์ค์ ๋๋ค. ํ์ง๋ง TreeSet ๋ํ ํจ์จ์ ์ด๊ธด ํ์ง๋ง ๊ฒ์์ฑ๋ฅ์ ๊ดํด์๋ HashMap์ด TreeMap๋ณด๋ค ๋ ๋ฐ์ด๋๋ฏ๋ก ๊ฒ์ ๊ด๋ จ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด์๋ TreeMap์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค๋ง ๋ฒ์๊ฒ์์ด๋ ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ์๋ TreeMap์ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์ ๋๋ค. TreeMap ๋ํ TreeSet๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ๋ ฌ์ ์ํด์ Comparator ํน์ Comparable ๋ฐฉ์์ผ๋ก ๊ตฌํ์ ์ง์ ํด์ค์ผ๋ง ํฉ๋๋ค.
Properties
Properties๋ HashMap์ ๊ตฌ๋ฒ์ ์ธ Hashtable์ ์์๋ฐ์ ๊ตฌํํ ๊ฒ์ผ๋ก, Hashtable์ Key์ Value๋ฅผ (Object, Object) ํํ๋ก ์ ์ฅํ๋๋ฐ ๋นํด Properties๋ (String, String)์ ํํ๋ก ์ ์ฅํ๋ ๋ณด๋ค ๋จ์ํ๋ ์ปฌ๋ ์ ํด๋์ค์ ๋๋ค. ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๊ฒฝ์ค์ ๊ณผ ๊ด๋ จ๋ ์์ฑ์ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก๋ถํฐ ์ฝ๊ณ ์ฐ๋ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.