JavaRush ํ์๋ค์ ํธ์๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ์ค์ํ ์ฃผ์ ์ ๊ดํ ๊ฐ์์ ๊ธฐ์ฌ๋ฅผ ์์งํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋ ๋ฒ์งธ ์ ํ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ดํ ๊ฒ์
๋๋ค. ๋ฏธ๋ ๊ฐ์ด๋์์๋ ๊ธฐ์ฌ์ ๋ณธ์ง์ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ๊ณ ์์ผ๋ฉฐ, ๋งํฌ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด ๊ด์ฌ ์๋ ์ฃผ์ ์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค. ๋ถ๋งํฌ์ ์ปฌ๋ ์
์ ์ถ๊ฐํ๊ณ ํ์ํ ๋ ๋ค์ ๋ฐฉ๋ฌธํ์ธ์.
๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ดํ ์๋ฃ
๊ธฐ์ฌ ๋ฐ ๊ฐ์
ํ๋ก๊ทธ๋๋ฐ์๋ ๋งค์ฐ ๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์์ต๋๋ค. ํน์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํด๋น ๋ชฉ์ ์ ๊ฐ์ฅ ์ ํฉํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ํํ๋ ๊ฒ์
๋๋ค. ์ด๋ฒ ๊ฐ์์์๋ ์คํ, ํ ๋ฑ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค. ๊ฐ์๊ฐ ๋๋๋ฉด ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ์ ์ฉํ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ๋ ์ ๊ณตํฉ๋๋ค.
๊ฐ์์์๋ ํผ๋ผ๋ฏธ๋(ํ ๋ฐ ๋ฐ์ด๋๋ฆฌ ํ์ด๋ผ๊ณ ๋ ํจ)์ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํด ์ค๋ช
ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ฌํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋ค์ํ ์์
์ ์ฐ์ ์์๋ฅผ ๋ํ๋ด๋ ๋ฐ ํ์ํ ๋ค์ํ ์ค์ผ์ค๋ฌ ๋ฐ ๊ธฐํ ๊ตฌ์กฐ์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ก ์ธ์๋ ์ด ๊ธฐ์ฌ์์๋ Java๋ก ํผ๋ผ๋ฏธ๋๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ฅผ ์ดํดํ๋ ๊ฒ์ ํ์คํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๊ฐ์์์๋ ๊ตฌ์กฐ ์์ฒด์ ํน์ง๊ณผ ์ฅ์ ์ ์ดํด๋ณด๊ณ Java์์ ์ด์ง ํธ๋ฆฌ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
๋งต์ ํค-๊ฐ ์ ์งํฉ์ ํฌํจํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์
๋๋ค. ๊ทธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์ฌ์ ๊ณผ ์ ์ฌํ๋ฏ๋ก ์ข
์ข
๊ทธ๋ ๊ฒ ๋ถ๋ฆฝ๋๋ค. ๋์์ Map์ ์ธํฐํ์ด์ค์ด๋ฉฐ ํ์ค jdk์๋
Hashmap ,
LinkedHashMap ,
Hashtable ,
TreeMap๊ณผ ๊ฐ์ ์ฃผ์ ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค .
์ด ๊ธฐ์ฌ๋ Map ์ ๊ดํ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์
๋๋ค .
์ด ์์ธํ "๋ฐฑ๊ณผ์ฌ์ "์ ๋ฐฐ์ด์ด ๋ฌด์์ธ์ง, ๋ฐฐ์ด์ ์ ์ธํ๊ณ ์์ฑํ๋ ๋ฐฉ๋ฒ, ๋ฐฐ์ด์ ๊ธธ์ด, ๋ฐฐ์ด์ ์ด๊ธฐํํ๊ณ ๋ฐฐ์ด์ ํ์ํ๋ ๋ฐฉ๋ฒ ๋ฑ ์ฒ์๋ถํฐ ๋ฐฐ์ด์ ๋ํด ์์์ผ ํ ๋ชจ๋ ๊ฒ์ ์๋ ค์ค๋๋ค. ํ๋ฉด.
์ด๋ฒ ๊ฐ์์์๋ Map ๊ณผ ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ฐจ์ด์ ์ ๋ํด ๋ฐฐ์ฐ๊ณ ์ค์ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ Java์์
HashMap์ ์์ฑ ํ๊ณ ํด๋์ค๋ก ์์
ํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ด
๋๋ค .
์ง๋ ์ธํฐํ์ด์ค ์ ์์ฉ ์ต์
์ ์ด๋ฏธ ์ต์ํ ์ฌ๋๋ค์ ์ํ ๊ฐ์์
๋๋ค .
TreeMap์ ๊ตฌํ ๊ธฐ๋ฅ์ ๋ํด ์ค๋ช
ํ๊ณ , ๋ณด๋ค ๊ตฌ์ฒด์ ์ผ๋ก
HashMap ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง , ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
๊ฐ๋ฐํ ๋ ์ด๋ค ํฌ๊ธฐ์ ๋ฐฐ์ด์ด ํ์ํ ์ง ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ๋์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ๊ธฐ๋ฅ์ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํ์ํฉ๋๋ค. Java์๋ ์ด๋ฌํ ๋ชฉ์ ์ ์ํ
ArrayList ํด๋์ค๊ฐ ์์ต๋๋ค . ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด์ผ๊ธฐํ ๋ด์ฉ์
๋๋ค.
LinkedList ์์ ์์๋ ์ค์ ๋ก ์ฒด์ธ์ ๋งํฌ์
๋๋ค. ๊ฐ ์์์๋ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ์ธ์๋ ์ด์ ์์์ ๋ค์ ์์์ ๋ํ ๋งํฌ๊ฐ ์์ต๋๋ค.
๋น๋์ค
์ ๋์ฌ ํธ๋ฆฌ๋ ํค๊ฐ ๋ฌธ์์ด์ธ ์ฐ๊ด ๋ฐฐ์ด์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์
๋๋ค. Sergey Arkhipov์ ๋น๋์ค์์๋ Java ๊ฐ๋ฐ์์ ์ ๋์ฌ ํธ๋ฆฌ๊ฐ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ, ํธ๋ฆฌ๋ฅผ ํ์ผ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ, ๋ค์ ๋ก๋ํ๋ ๋ฐฉ๋ฒ ๋ฐ ๊ธฐํ ์ ์ฉํ ์ ๋ณด๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
HashMap ,
TreeMap ๋ฐ
LinkedHashMap ํด๋์ค ์์ด Java์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฐ๊ตฌํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค . ์ด ๋์์์์ Java ๋ฐ Kotlin ๊ฐ๋ฐ์ Ilya Niksan์ ์ด๋ฌํ ํด๋์ค, ํด๋น ์์ฑ ๋ฐ ์ฌ์ฉ ์ฌ๋ก ๊ฐ์ ์ฐจ์ด์ ์ ์์ธํ ๋ถ์ํ์ต๋๋ค.
'๋ฉด์ ์ง๋ฌธ๊ณผ ๋ต๋ณ'์ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์ธํฐ๋ทฐ์ ๊ธฐ๋ณธ ์ฃผ์ ์ค ํ๋๋ Java์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์
๋๋ค. ์ด ๋ฌธ์์๋ ๋ฐฐ์ด ๋ฐ ์ปฌ๋ ์
๊ณ์ธต ๊ตฌ์กฐ์ ๋ํ ๋ด์ฉ์ ํฌํจํ์ฌ ์ธํฐ๋ทฐ์์ ์ด ์ฃผ์ ์ ๊ดํด ์ง๋ฌธํ ์ ์๋ ์ง๋ฌธ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ฐ์ดํฐ ๊ตฌ์กฐ ์ฃผ์ ์ ๊ดํด ์ง๋ฌธํ ์ ์๋ ์ง๋ฌธ์ ๋ํ ์ด์ ํ
์คํธ์ ์ด์ด ์ ์๋
Map ,
List ,
HashMap ๋ฐ ๊ธฐํ ์ฃผ์ ๋ฅผ ๊ฒํ ํฉ๋๋ค.
๋ณด๋์ค
์ํ: โJava ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆโ, Robert Laforet
์ด ์ฑ
์ ํ๋ก๊ทธ๋๋ฐ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ๊ณ ์ฌ์ฉํ๋ ๋ฐ ์ ๋
ํ๊ณ ์์ต๋๋ค. ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ๊ตฌ์ฑ๋๋ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ด ์ด๋ฌํ ๊ตฌ์กฐ์์ ๋ค์ํ ์์
์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
์๋ฆฌ์ฆ์ ๊ธฐํ ์๋ฃ: |
|
GO TO FULL VERSION