TreeSet, TreeMap vs HashSet, HashMap
์ด๋ค ์ํฉ์์ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ์จ์ผํ ๊น!
TL;DR
ํน๋ณํ ์ฌ์ ๊ฐ ์๋ค๋ฉด
๊ฒ์ ์ฑ๋ฅ
์ด ์ข์HashMap
์ ์ฌ์ฉ์์๋ฅผ ๋ณด์ฅ
ํ๊ณ ์ถ๋ค๋ฉด LinkedHashMap์ ์ฌ์ฉํค๊ฐ์ ์ผ์ ํ๊ฒ
iterate
ํ๊ณ ์ํ๋ค๋ฉดTreeMap
์ ์ฌ์ฉ
TreeMap๊ณผ HashMap์ ์ฐจ์ด์
TreeMap์ HashMap๊ณผ ์ ์ฌํ ์๋ฃ ๊ตฌ์กฐ์ด์ง๋ง, TreeMap์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋ค๋ ์ ์ด ๋ค๋ฅด๋ค
HashMap์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์, TreeMap๋ณด๋ค ๋ฐ์ดํฐ ๊ฒ์ ์๋๊ฐ ๋๋ฆด ์ ์๋ค
but, HashMap์ TreeMap๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ๋ค
์์ ๋ณด์ฅ ์ธก๋ฉด
HashMap
์ ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋คLinkedHashMap
์ ์ ๋ ฅ๋ ์์๋ฅผ ๋ณด์ฅํ๋ค!
TreeMap
์ Key ๊ฐ์ผ๋ก ์ฌ์ฉ๋ ํด๋์ค์ ๋น๊ต ์ฐ์ฐ์ ํ์ฉํ์ฌ ์์๋ฅผ ๋ณด์ฅํ๋คkey ๊ฐ์ ๋ฐ๋ผ ์๋์ผ๋ก
sort
๋๋ ๋ฐฉ์
์๋ ์ธก๋ฉด
HashMap
์ ์๊ฐ ๋ณต์ก๋๋O(1)
์ด๋คํด์ ๊ฐ
์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ
TreeMap
์ ์๊ฐ ๋ณต์ก๋๋O(log n)
์ด๋ค๋์ ,
์ ๋ ฌ๋ ์์
๋ฅผ ์ป์ ์ ์๋ค
Key์ null
ํ์ฉ ์ฌ๋ถ
null
ํ์ฉ ์ฌ๋ถHashMap
์ key์ nullํ์ฉ
TreeMap
์ key์ nullํ์ฉ X
TreeMap์ ์ธ์ ์ฐ์ง?
์์๊ฐ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํด์ผ ํ๋ ๊ฒฝ์ฐ
๋๊ธฐํ ์ฒ๋ฆฌ๊ฐ ๋์ด์์ด
Thread-safe
ํ๋ค
๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ์์๋๋ก ๊ฒ์ํด์ผ ํ๋ ๊ฒฝ์ฐ
๋ฐ์ดํฐ์ ๋ํ ์ฝ์ , ์ญ์ , ๊ฒ์ ์ฐ์ฐ์ด ์์ฃผ ์ํ๋๋ ๊ฒฝ์ฐ
TreeMap์ด ํจ์จ์ ์ด์ง ์์ ๊ฒฝ์ฐ
๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ํฐ ๊ฒฝ์ฐ
๋ฐ์ดํฐ์ ๋ํ ์ฝ์ , ์ญ์ , ๊ฒ์ ์ฐ์ฐ์ด ์์ฃผ ์ํ๋์ง ์๋ ๊ฒฝ์ฐ
Last updated