Map
Key-Value ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ๊ตฌ์กฐ
Java Map ๊ณ์ธต ๊ตฌ์กฐ
Map Interface
Map
์ธํฐํ์ด์ค๋Collection
์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ง ์์Map
์ธํฐํ์ด์ค๋key
์value
๋ฅผ ๋ฌถ์ด์ ํ๋์ ๋ฐ์ดํฐ๋ฅผentry
๋ก ์ ์ฅput, get, remove, containsKey, containsValue, size, isEmpty, clear ๋ฑ์ ๋ฉ์๋ ์ ๊ณต
Map ํ์ Class ํน์ง
Class | Base Class | Base Interface | Duplicate Key | Duplicate Value | Order | Get |
---|---|---|---|---|---|---|
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) |
HashMap
๋ด๋ถ์ ์ผ๋ก
Entry
๋ฐฐ์ด์ ๋ง๋ค์ด ๊ด๋ฆฌput()
๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌEntry
๋ฅผ ์ถ๊ฐํ๋ฉดkey
๊ฐ์ผ๋กhash
๊ฐ์ ๊ณ์ฐํ์ฌEntry
๋ฅผ ์ ์ฅํ ์์น(์ ๊ทผ ์ธ๋ฑ์ค)๋ฅผ ์ฐพ์ ์ฌ์ฉhash
๊ฐ ๊ณ์ฐ์ ์๋ฐ ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋กObject
์hashCode()
๋ฉ์๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์HashCode
๋ฅผ ๊ณ์ฐํ์ฌ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ณด์ฅ๋์ง ์์
TreeMap
key
-value
์์ ๋ด๋ถ์ ์ผ๋กRed-Black Tree
๋ก ๊ด๋ฆฌkey
๊ฐ์ผ๋กRed-Black Tree
๋ฅผ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์Comparator
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ฌkey
๊ฐ์ ์ ๋ ฌํ ์ ์์
LinkedHashMap
HashMap
๊ณผ ๋์ผํ๊ฒ ๋ด๋ถ์ ์ผ๋กEntry
๋ฐฐ์ด์ ๋ง๋ค์ด ๊ด๋ฆฌbefore
์after
๋ฅผ ์ด์ฉํ์ฌEntry
๋ฅผ ์ถ๊ฐํ ์์๋๋กEntry
๋ฅผํฐ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์์๊ฐ ๋ณด์ฅ๋จ
Last updated