์ฃผ์
๋งต์ ๋ํด์ ์์๋ด
์ธ ~
๋ชฉ์ฐจ
- ๋งต์ด๋ ๋ฌด์์ธ๊ฐ
- ์ ์จ์ผ ํ๋๊ฐ
- ์ด๋ป๊ฒ ๋์ํ๋๊ฐ
๋ด์ฉ
collection : ๋ฐ์ดํฐ๋ฅผ ๋ชจ์์ ๊ด๋ฆฌํ ์ ์๋ ํด๋์ค๋ฅผ ์ปฌ๋ ์ ์ด๋ผ๊ณ ํ๋ค.
๐จWhat [๋งต์ด๋?]
- key value ์์ธ ์ํธ๋ฆฌ๋ค์ ์ ์ฅ ๊ด๋ฆฌํด์ฃผ๋ ์ปฌ๋ ์
- ์ข ๋ฅ
- hashMap
- ๋ค๋ฅธ ๋งต์ ๋นํด ๋น ๋ฅด๋ค
- ์์๋ฅผ ๋ณด์ฅํ์ง ์๋๋ค
์๊ฐ๋ณต์ก๋ : 1
- TreeMap
- key value์์ ๋ด๋ถ์ ์ผ๋ก ๋ ๋ ๋ธ๋ํธ๋ฆฌ๋ก์ ์ฅํ์ฌ ๊ด๋ฆฌํ๋ค. ๋ฐ๋ผ์ ํค ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋ ์ํ๋ฅผ ์ ์งํ๋ค
- comparable ์ธํฐํ์ด์ค๋ฅผ ๊ทธํํ๋ฉด ์ฌ์ฉ์๊ฐ ์ ๋ ฌ๋ ์์๋ฅผ ์กฐ์ ํ ์ ์๋ค
- ๋ ๋ ๋ธ๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์๊ฐ๋ณต์ก๋๋ : log n์ด๋ค
- ์ถ๊ฐ ์ญ์ ์ฐ์ฐ ๋ํ ๊ทธ๋ฌํ๋ค.
- hashMap๊ณผ ๋น๊ตํด์๋ ๋น๊ต์ ๋๋ฆฌ๋ค
- LinkedHashMap
- ์ ๋ ค๋ ์์๋ฅผ ๊ธฐ์ตํ๋ค.
- ์ ์ฅ๋ ๊ฐ ํญ๋ชฉ์ Map.Entry ํด๋์ค๋ฅผ ๊ตฌํํ Node ํด๋์ค๋ก ๋ด๋ถ์ after , before ๋ฉค๋ฒ๋ฅผ ๊ฐ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค
- ๋ด๋ถ์ ์ผ๋ก ์ด์ค ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ค
์๊ฐ๋ณต์ก๋๋ 1
์ ๊ฐ์ง๋ค
โWhy
๋น ๋ฅธ ์์ธ์ค๋ฅผ ํ์๋ก ํ ๋ โผ๏ธ
โ How [๋งต์ ์ด๋ป๊ฒ ๋์ํ ๊น]
- put ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ํธ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ํค ๊ฐ์ผ๋ก ๋๊ฒจ์ค ๊ฐ์ฒด์ ํด์ ์ฝ๋๋ฅผ ๊ณ์ฐํ์ฌ ์ํธ๋ฆฌ ๋ฐฐ์ด์ ์ ๊ทผ ์ธ๋ฑ์ค๋ก ์ ๊ทผํ๋ค.
- ํด์ ๊ฐ ๊ณ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด์ ์ฝ๋ ๋ฉ์๋ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค. ๋ํ ํด์ ์ถฉ๋์ ๋๋นํ์ฌ equals ๋ฉ์๋ ๊น์ง ์ฌ์ฉํด์ ํค ๊ฐ์ด ์ ๋ง ๊ฐ์ ๊ฒฝ์ฐ์๋ง value๋ฅผ ๋ฆฌํดํ๋ค. ๋ฐ๋ผ์ ํค ๊ฐ์ผ๋ก ์ฌ์ฉํ ํด๋์ค์ ํน์ฑ์ ๋ฐ๋ผ ํ์ํ ๊ฒฝ์ฐ hash code ๋ฉ์๋์ equals ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํด์ผ ํ ์ ์๋ค.