Map
Last updated
Was this helpful?
Last updated
Was this helpful?
Key-Value ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ
Java Map ๊ณ์ธต ๊ตฌ์กฐ
Map
์ธํฐํ์ด์ค๋ Collection
์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ง ์์
Map
์ธํฐํ์ด์ค๋ key
์ value
๋ฅผ ๋ฌถ์ด์ ํ๋์ ๋ฐ์ดํฐ๋ฅผ entry
๋ก ์ ์ฅ
put, get, remove, containsKey, containsValue, size, isEmpty, clear ๋ฑ์ ๋ฉ์๋ ์ ๊ณต
HashMap
AbstractMap
Map
X
O
X
O(1)
TreeMap
SortedMap
NavigableMap
X
O
O
O(log n)
LinkedHashMap
HashMap
Map
X
O
O
O(1)
๋ด๋ถ์ ์ผ๋ก Entry
๋ฐฐ์ด์ ๋ง๋ค์ด ๊ด๋ฆฌ
put()
๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ Entry
๋ฅผ ์ถ๊ฐํ๋ฉด key
๊ฐ์ผ๋ก hash
๊ฐ์ ๊ณ์ฐํ์ฌ Entry
๋ฅผ ์ ์ฅํ ์์น(์ ๊ทผ ์ธ๋ฑ์ค)๋ฅผ ์ฐพ์ ์ฌ์ฉ
hash
๊ฐ ๊ณ์ฐ์ ์๋ฐ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก Object
์ hashCode()
๋ฉ์๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์
HashCode
๋ฅผ ๊ณ์ฐํ์ฌ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ณด์ฅ๋์ง ์์
key
-value
์์ ๋ด๋ถ์ ์ผ๋ก Red-Black Tree
๋ก ๊ด๋ฆฌ
key
๊ฐ์ผ๋ก Red-Black Tree
๋ฅผ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ Comparator
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ฌ key
๊ฐ์ ์ ๋ ฌํ ์ ์์
HashMap
๊ณผ ๋์ผํ๊ฒ ๋ด๋ถ์ ์ผ๋ก Entry
๋ฐฐ์ด์ ๋ง๋ค์ด ๊ด๋ฆฌ
before
์ after
๋ฅผ ์ด์ฉํ์ฌ Entry
๋ฅผ ์ถ๊ฐํ ์์๋๋ก Entry
๋ฅผํฐ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ณด์ฅ๋จ