1. ์ปจํ ์ด๋ ๋ฐ ์ปฌ๋ ์
์ปจํ ์ด๋ ๋๋ ์ปฌ๋ ์ ์ ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ํด๋์ค์ ๋๋ค. ๋ฐฐ์ด๊ณผ ๋ชฉ๋ก์ด๋ผ๋ ๋ ์ข ๋ฅ์ ์ปจํ ์ด๋๋ฅผ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค.
Java์๋ ์์ญ ๊ฐ์ ์ปฌ๋ ์ ์ด ์์ผ๋ฉฐ ๊ฐ ์ปฌ๋ ์ ์ ๊ณ ์ ํ ๋ฐฉ์์ผ๋ก ์์๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ค์์ ๊ทธ ์ค ๋ช ๊ฐ์ง์ ๋๋ค.
์์ง | ์์ | ์ค๋ช |
---|---|---|
|
|
๋ชฉ๋ก |
|
์ฐ๊ฒฐ๋ ๋ชฉ๋ก | |
|
๋ฒกํฐ | |
|
์คํ | |
|
|
์ธํธ |
|
||
|
||
|
|
๋๊ธฐ์ค |
|
||
|
|
์ง๋/์ฌ์ |
|
||
|
์ฌ๊ธฐ์ ์ด๋ฆ์ ๋ค์ ๋ชจํธํฉ๋๋ค. ๋๋ถ๋ถ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์๋ ์ด๋ฌํ ๋ชจ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ปฌ๋ ์
์ด๋ผ๊ณ ํ์ง๋ง Java์์๋ ๊ทธ๋ ์ง ์์ต๋๋ค. Java์์ ์ด๋ฌํ ํด๋์ค ์ค ์ผ๋ถ๋ Collection
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ง๋ง ๋ค๋ฅธ ํด๋์ค๋ ๊ตฌํํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ์ปฌ๋ ์
์ ๋์ ์๋ฏธ์ ์ปฌ๋ ์
๊ณผ ์ข์ ์๋ฏธ์ ์ปฌ๋ ์
(์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ปฌ๋ ์
๋ง Collection
) ์ผ๋ก ๋๋ฉ๋๋ค .
๋ฐ๋ผ์ ํผ๋์ ํผํ๊ธฐ ์ํด ์ปฌ๋ ์
์ ๋ํด ๋งํ ๋ ์ฐ๋ฆฌ๋ ์ข์ ์๋ฏธ์ ๋จ์ด, ์ฆ Collection
์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค๋ฅผ ์๋ฏธํฉ๋๋ค. , ๋ฐ ์ ํ List
์ ๋ชจ๋ ์ปฌ๋ ์
์
๋๋ค. ๋์ ์๋ฏธ์์ ์ปฌ๋ ์
์ ์ผ๋ฐ์ ์ผ๋ก ์ปจํ
์ด๋ ๋ผ๊ณ ํฉ๋๋ค . ์ฌ๊ธฐ์๋ ๋ฐ ๋ฐฐ์ด ๊ณผ ๊ฐ์ ์ ํ์ด ํฌํจ๋ฉ๋๋ค .Set
Queue
Map
2. HashSet
์์ง
ํด๋์ค HashSet
๋ ์ผ๋ฐ์ ์ธ ์ธํธ ์ปฌ๋ ์
์
๋๋ค. ์ฌ๋ฌ๋ชจ๋ก ํด๋์ค์ ๋น์ทํฉ๋๋ค ArrayList
. ์ด๋ค ๋ฉด์์๋ ๋ ์์์ ์ธ ๋ฒ์ ์
๋๋ค.
HashSet
๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค .
HashSet<Type> name = new HashSet<Type>();
Type
์ปฌ๋ ์
์ ์ ์ฅํ ์์์ ์ ํ์ ์ด๋์ ์์ต๋๊น HashSet
?
ํด๋์ค HashSet
์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฉ์๋๊ฐ ์์ต๋๋ค.
๋ฐฉ๋ฒ | ์ค๋ช |
---|---|
|
value ์ปฌ๋ ์
์ ์์๋ฅผ ์ถ๊ฐํฉ๋๋ค. |
|
value ์ปฌ๋ ์
์์ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค . ํด๋น ์์๊ฐ ์์ผ๋ฉด ๋ฐํ true |
|
์ปฌ๋ ์
์ value ์์๊ฐ ์๋์ง ํ์ธ |
|
์ปฌ๋ ์ ์ ์ง์ฐ๊ณ ๋ชจ๋ ์์๋ฅผ โโ์ ๊ฑฐํฉ๋๋ค. |
|
์ปฌ๋ ์ ์ ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค. |
๋ค์์ ์งํฉ์ ์ฌ์ฉํ๋ ์์ ๋๋ค.
์ฌ์ฉ์๊ฐ ์ธ์ฌ๋ฅผ ํ๋ฉด ์๋ณ ์ธ์ฌ๋ฅผ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ด ์๋ค. ๋ ํฅ๋ฏธ๋กญ๊ฒ ๋ง๋ค๊ธฐ ์ํด ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ธ์ด๋ก "hello"๋ฅผ ์ดํดํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
HashSet ์์๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค String . ๋ณ์ ์ ๋ค์ํ ์ธ์ด๋ก ์ธ์ฌ๋ง์ ์ถ๊ฐํฉ๋๋ค set . ์ฝ์์์ ํ ์ค์ ์ฝ์ต๋๋ค. ๋ฌธ์์ด์ด ์ธ์ฌ๋ง ์ธํธ์ ์์ผ๋ฉด ์๋ณ ์ธ์ฌ๋ฅผ ํฉ๋๋ค. |
3. ์ค์
์ปฌ๋ ์
์ Set
์ผ๋ จ์ ์์๋ฅผ ๋ณด์ ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๊ทธ๋์ Set
(์งํฉ)์ด๋ผ๊ณ ํฉ๋๋ค. ์ด ์ปฌ๋ ์
์๋ ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์งํฉ์ ๋ํ ์์
์งํฉ์ผ๋ก ์ํํ ์ ์๋ ์์ ์ ์ธ ๊ฐ์ง๋ฟ์ ๋๋ค. ์งํฉ์ ์์ ์ถ๊ฐ, ์งํฉ์์ ์์ ์ ๊ฑฐ, ์งํฉ์ ํน์ ์์๊ฐ ํฌํจ๋์ด ์๋์ง ํ์ธ. ๊ทธ๊ฒ ๋ค์ผ.
์ฃผ๋ฌธ ์์
์ด ์ปฌ๋ ์
์ ์์์๋ ์ธ๋ฑ์ค๊ฐ ์์ต๋๋ค. ์ธ๋ฑ์ค๋ก ์์๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ํน์ ์ธ๋ฑ์ค์ ์ปฌ๋ ์
์ ๊ฐ์ ์ธ ์ ์์ต๋๋ค. ์ธํธ์๋ get()
๋ฐ set()
๋ฉ์๋๊ฐ ์์ต๋๋ค.
๋ ํนํ ์์
์งํฉ์ ๋ชจ๋ ์์๋ ๊ณ ์ ํฉ๋๋ค. ๋ชฉ๋ก๊ณผ ๋ฌ๋ฆฌ ์ธํธ์๋ ์์์ ์ธ์คํด์ค๊ฐ ํ๋๋ง ํฌํจ๋ ์ ์์ต๋๋ค. ๊ฐ์ฒด๋ ์งํฉ์ ํฌํจ๋์ด ์๊ฑฐ๋ ํฌํจ๋์ด ์์ง ์์ต๋๋ค. ์ธ ๋ฒ์งธ ์ต์ ์ ์์ต๋๋ค. ์์ ์ธํธ์ ๊ฒ์์์ ์ธ ๋ฒ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ฑฐ๊ธฐ์ ์๋ ์๋ ๋ ์ค ํ๋์ ๋๋ค.
์์ ์ฐพ๊ธฐ
์ ์์๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์์๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ์งํฉ์ ์์๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ๋ ํด๋น ์์์ ๋ํ ๊ฒ์์ด ๋ฉ์๋์์ ์ํ๋ฉ๋๋ค. ์ ๋ฌ๋ ์์๋ ๋จผ์ ์ ์ํด ์ปฌ๋ ์
์ ์์์ ๋น๊ต๋๊ณ hashCode()
๊ฐ์ด hashCode()
์ผ์น ์ ์ํด ๋ฐํ๋ ๊ฒฝ์ฐ ์ ์ํด ๋น๊ต๋ฉ๋๋ค equals()
.
4. ์ปฌ๋ ์
๋น๊ต: List
vsSet
์ปฌ๋ ์
์ ๋ ๊ฐ์ง ์ ํ์ ๋น๊ตํด ๋ณด๊ฒ ์ต๋๋ค. ํ ์ปฌ๋ ์
์ด ๋ค๋ฅธ List
์ปฌ๋ ์
Set
๋ณด๋ค ์ ๋ฆฌํ ๊ฒฝ์ฐ์ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ ์ฃผ์ ์ฐจ์ด์ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฅ๋๊ฐ์ ์๋ก ๋ค์ด List์ Set์ ๋น๊ตํด ๋ด ์๋ค.
List
(๋ชฉ๋ก) ์ปฌ๋ ์
์ ๋์ด๋ฐฉ ์ ๋ฒฝ์ ๋ฐ๋ผ ๋ฐฐ์ด๋ ์ฅ๋๊ฐ ์ธํธ์ ๊ฐ์ต๋๋ค. ๋ชฉ๋ก ๋์ ์ฅ๋๊ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ผญ ํ์ํ ๊ฒฝ์ฐ ์ค๊ฐ์ ์ฝ์
ํ ์๋ ์์ต๋๋ค(๋จ, ๊ธฐ์กด ์ฅ๋๊ฐ ์ค ์ผ๋ถ๋ฅผ ์ด๋ํด์ผ ํจ).
๊ฐ ์ฅ๋๊ฐ์๋ ์์ธ์ด ์์ต๋๋ค. ์์ธ์ผ๋ก ์ฅ๋๊ฐ์ ์ฐธ์กฐํ๊ณ ์ฅ๋๊ฐ ๋ฒํธ 7์ ์ฅ๋๊ฐ ๋ฒํธ 13์ผ๋ก ๋ฐ๊ฟ ์๋ ์์ต๋๋ค. ๋ชฉ๋ก์์ ์ฅ๋๊ฐ ๋ฒํธ 4๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ชฉ๋ก์ ์๋ ๊ฐ ์ฅ๋๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ์ ์ ์์ต๋๋ค.
Set
(์ธํธ) ์ปฌ๋ ์
์ ๋ฐ๋ฅ ํ๊ฐ์ด๋ฐ์ ์๋ ์ฅ๋๊ฐ ๋๋ฏธ์ ๊ฐ๊น์ต๋๋ค. ๋๋ฏธ์ ์ฅ๋๊ฐ์ ์ถ๊ฐํ ์ ์๊ณ ๋๋ฏธ์์ ์ฅ๋๊ฐ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ฅ๋๊ฐ์๋ ๊ด๋ จ๋ ๊ณ ์ ์ธ๋ฑ์ค๊ฐ ์์ต๋๋ค.
๋๋ ์๋ ์ ์์ผ์ ์ํด ์ฅ๋๊ฐ์ ์ ํํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋จผ์ , ๊ทธ๊ฐ ์ด๋ฏธ ์ฅ๋๊ฐ์ ๊ฐ์ง๊ณ ์๋์ง ์๊ฐํฉ๋๋ค. ๊ทธ๊ฐ ์ด๋ฏธ ๊ฐ์ง๊ณ ์๋ ๋ชจ๋ ์ฅ๋๊ฐ์ ๋น์ ์ด ๊ตฌ๋งคํ์ง ์์ ์ฅ๋๊ฐ ์ธํธ๋ฅผ ํ์ฑํฉ๋๋ค.
์ด๋ฌํ ๊ด์ ์์ ๋ณผ ๋ "์ด๋ฏธ ์กด์ฌํ๋ ์ฅ๋๊ฐ" ์ธํธ์ ์ฅ๋๊ฐ ์์๋ ์ค์ํ์ง ์์ผ๋ฉฐ, ์์ผ์ ๋ง์ ๋จ์ ์์ด๊ฐ ํน์ ์ฅ๋๊ฐ์ ๋ ๊ฐ ๊ฐ์ง๊ณ ์๋์ง๋ ์ค์ํ์ง ์์ต๋๋ค. ๊ฐ ์ฅ๋๊ฐ์ ์์๋ ์์๋ ๊ด์ฌ์ด ์์ต๋๋ค. ๋น์ ์ด ๊ด์ฌ์ ๊ฐ๋ ๊ฒ์ ์ธํธ์ ์กด์ฌํ๋ ๊ฐ๊ฐ์ ๊ณ ์ ํ ์ฅ๋๊ฐ์ ์๋ ๊ฒ์ ๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์๋ Set
์ปฌ๋ ์
์ด ํ์ํฉ๋๋ค. ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ตฌํ์ HashSet
ํด๋์ค์
๋๋ค.
GO TO FULL VERSION