1. ์ดํฐ๋ ์ดํฐ๊ฐ ์๊ฒจ๋ ๋ฐฐ๊ฒฝ
๋น์ ์ ์ด๋ฏธ ์ ์ต์ํฉ๋๋ค HashSet
. ๊ฐ์๋ฅผ ์ฝ๋ ๊ฒ ์ด์์ผ๋ก ์ค์ ๋ก ์กฐ์ฌํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ ํ์ด์ผ ํฉ๋๋ค.
ํ๋ฉด์ ๋ชจ๋ HashSet ์์ ๋ชฉ๋ก์ ์ด๋ป๊ฒ ํ์ํฉ๋๊น? ๊ฒฐ๊ตญ ์ธํฐํ์ด์ค์๋ get()
๋ฉ์๋ ๊ฐ ์์ต๋๋ค set()
!
๊ทธ๋ฆฌ๊ณ HashSet
์ด ํ๊ณ๋ ํผ์๊ฐ ์๋๋๋ค. ์ด์ธ์๋ HashSet
์์์ ์ ์๋ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๋ก ์์๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํ๋ ๋ค๋ฅธ ๋ง์ ์ปฌ๋ ์
์ด ์์ต๋๋ค.
์๋ ๋์ ํ๋ก๊ทธ๋๋จธ๋ ๊ทธ๋ํ ๋ฐ ํธ๋ฆฌ์ ๊ฐ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง์ด ๋ฐ๋ช ํ์ต๋๋ค. ๋๋ ๋ชฉ๋ก ๋ชฉ๋ก.
๋ง์ ์ปจํ ์ด๋๋ ์ ์์๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ๊ธฐ์กด ์์๊ฐ ์ ๊ฑฐ๋ ๋ ํด๋น ์์์ ์์๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ชฉ๋ก์ ํน์ ์์๋ก ์์๋ฅผ ์ ์ฅํ๊ณ ์ ์์๊ฐ ์ถ๊ฐ๋๋ฉด ๊ฑฐ์ ํญ์ ๋ชฉ๋ก ์ค๊ฐ์ ์ฝ์ ๋ฉ๋๋ค.
๋ํ ์์๋ฅผ ์ ์ฅํ์ง๋ง ๊ณ ์ ๋ ์์๋ก ์ ์ฅํ์ง ์๋ ์ปจํ ์ด๋๊ฐ ์๋ ์ํฉ๋ ์์ต๋๋ค.
์ด์ ์ด๋ฌํ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๋ฅผ โโ๋ฐฐ์ด์ด๋ ๋ชฉ๋ก์ ๋ณต์ฌํ๋ ค๊ณ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ชจ๋ ์์๋ฅผ โโ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์์๋ฅผ ๋ฐ๋ณตํ๋ ์์๋ ์ค์ํ์ง ์์ต๋๋ค. ์ค์ํ ๊ฒ์ ๋์ผํ ์์๋ฅผ ๋ ๋ฒ ์ด์ ๋ฐ๋ณตํ์ง ์๋ ๊ฒ์ ๋๋ค. ์ด๋ป๊ฒ ํ์ฃ ?
2. ์ปฌ๋ ์ ์ ๋ฐ๋ณต์
๋ฐ๋ณต์๋ ์์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก ์ ์๋์์ต๋๋ค.
๋ฐ๋ณต์๋ ์ปฌ๋ ์ ๊ณผ ์ฐ๊ฒฐ๋ ํน์ ๊ฐ์ฒด๋ก, ๋ฐ๋ณตํ์ง ์๊ณ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๋ฅผ โโ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ปฌ๋ ์ ์ ๋ํ ๋ฐ๋ณต์๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
Iterator<Type> it = name.iterator();
์ฌ๊ธฐ์ name
์ปฌ๋ ์
๋ณ์์ ์ด๋ฆ์ Type
์ปฌ๋ ์
์์์ ์ ํ์ด๊ณ iterator()
์ปฌ๋ ์
์ ๋ฉ์๋ ์ค ํ๋์ด๋ฉฐ it
๋ฐ๋ณต์ ๋ณ์์ ์ด๋ฆ์
๋๋ค.
๋ฐ๋ณต์ ๊ฐ์ฒด์๋ 3๊ฐ์ง ๋ฉ์๋๊ฐ ์์ต๋๋ค.
๋ฐฉ๋ฒ | ์ค๋ช |
---|---|
|
์ปฌ๋ ์ ์ ๋ค์ ์์๋ฅผ ๋ฐํํฉ๋๋ค. |
|
์์ง ํต๊ณผํ์ง ์์ ์์๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. |
|
์ปฌ๋ ์ ์ ํ์ฌ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค. |
์ด๋ฌํ ๋ฉ์๋๋ Scanner ํด๋์ค์ nextInt)
๋ฐ hasNextInt()
๋ฉ์๋์ ๋ค์ ์ ์ฌํฉ๋๋ค.
์ด next()
๋ฉ์๋๋ ๋ฐ๋ณต์๋ฅผ ๊ฐ์ ธ์จ ์ปฌ๋ ์
์ ๋ค์ ์์๋ฅผ ๋ฐํํฉ๋๋ค.
๋ฉ์๋ hasNext()
๋ ๋ฐ๋ณต์๊ฐ ์์ง ๋ฐํํ์ง ์์ ์ถ๊ฐ ์์๊ฐ ์ปฌ๋ ์
์ ์๋์ง ํ์ธํฉ๋๋ค.
๋ค์์ a ์ ๋ชจ๋ ์์๋ฅผ โโํ์ํ๋ ๋ฐฉ๋ฒ์
๋๋ค HashSet
.
์ํธ | ๋ ธํธ |
---|---|
|
HashSet ์์๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค String . ๋ณ์ ์ ๋ค์ํ ์ธ์ด๋ก ์ธ์ฌ๋ง์ ์ถ๊ฐํฉ๋๋ค set . ์งํฉ ์ ๋ํ ๋ฐ๋ณต์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ต๋๋ค set . ์์ง ์์๊ฐ ์๋ ํ ๋ค์ ์์๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์์๋ฅผ ํ๋ฉด์ ํ์ํฉ๋๋ค. |
3. For-each
๋ฃจํ
๋ฐ๋ณต์์ ์ฃผ์ ๋จ์ ์ for
๋ฃจํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ฝ๋๊ฐ ๋ ๋ณต์กํด์ง๋ค๋ ๊ฒ์
๋๋ค.
for
๋น๊ต๋ฅผ ์ํด ๋ฃจํ์ ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ๋ก์ ํ์ํด ๋ณด๊ฒ ์ต๋๋ค .
๋ฐ๋ณต์ | for ๋ฃจํ |
---|---|
|
|
์, using ๋ฃจํ์ ์์๋ฅผ ์ํํ๋ ๊ฒ์ด ํจ์ฌ ๋ซ์ต๋๋ค ArrayList
. ๋ชจ๋ ๊ฒ์ด ๋ ์งง์์ง๋๋ค.
๊ทธ๋ฌ๋ Java ์ ์์๋ ๋ค์ ์ฐ๋ฆฌ์๊ฒ ์ฝ๊ฐ์ ์คํ์ ๋ถ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด ์ข๊ฒ๋ ๊ตฌ๋ฌธ ์คํ ์ด์์ต๋๋ค .
๊ทธ๋ค์ Java์ ์๋ก์ด ์ข
๋ฅ์ ๋ฃจํ๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฅผ for-each
๋ฃจํ๋ผ๊ณ ๋ถ๋ ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ๋ณด์
๋๋ค.
for(Type name:collection)
์ฌ๊ธฐ์ collection
๋ ์ปฌ๋ ์
๋ณ์์ ์ด๋ฆ์ด๊ณ , Type
๋ ์ปฌ๋ ์
์ ์๋ ์์์ ์ ํ์ด๋ฉฐ, name
๋ฃจํ๊ฐ ๋ฐ๋ณต๋ ๋๋ง๋ค ์ปฌ๋ ์
์์ ๋ค์ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ณ์์ ์ด๋ฆ์
๋๋ค.
์ด๋ฌํ ์ข ๋ฅ์ ๋ฃจํ๋ ์์์ ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๋ฅผ โโ๋ฐ๋ณตํฉ๋๋ค. ์ด๊ฒ์ด ์ค์ ๋ก ์๋ํ๋ ๋ฐฉ์์ ๋๋ค.
for-each ๋ฃจํ | ์ปดํ์ผ๋ฌ๊ฐ ๋ณด๋ ๊ฒ: ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ ๋ฃจํ |
---|---|
|
|
์ปดํ์ผ๋ฌ๋ for-each
์ฝ๋์์ ๋ฃจํ๋ฅผ ๋ง๋๋ฉด ๊ฐ๋จํ ์ค๋ฅธ์ชฝ์ ์๋ ์ฝ๋๋ก ๋ฐ๊ฟ๋๋ค. ๋๋ฝ๋ ๋ค๋ฅธ ๋ฉ์๋ ํธ์ถ๊ณผ ํจ๊ป ๋ฐ๋ณต์๋ฅผ ๊ฐ์ ธ์ค๋ ํธ์ถ์ ์ถ๊ฐํฉ๋๋ค.
ํ๋ก๊ทธ๋๋จธ๋ ๋ฃจํ๋ฅผ ์ข์ for-each
ํ๊ณ ์ปฌ๋ ์
์ ๋ชจ๋ ์์๋ฅผ โโ๋ฐ๋ณตํด์ผ ํ ๋ ๊ฑฐ์ ํญ์ ๋ฃจํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
ArrayList
๋ฃจํ ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ๋ก์ ๋ฐ๋ณตํ๋ ๊ฒ์กฐ์ฐจ for-each
๋ ์งง์ ๋ณด์
๋๋ค.
for-each ๋ฃจํ | for ๋ฃจํ |
---|---|
|
|
for-each
4. ๋ฃจํ ์์ ์์ ์ ๊ฑฐ
๋ฃจํ for-each
์๋ ํ ๊ฐ์ง ๋จ์ ์ด ์์ต๋๋ค. ์์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ๊ฑฐํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
์ ๊ฑฐ ์์ ์ ์ค๋ฅ๋ฅผ ์์ฑํฉ๋๋ค! |
์ด๊ฒ์ ๋งค์ฐ ํ๋ฅญํ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์ฝ๋์ด์ง๋ง ์๋ํ์ง ์์ต๋๋ค.
๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ๋ ๋์์๋ ์ปฌ๋ ์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ด ์ ํ์ ์ฐํํ๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
1. ๋ค๋ฅธ ์ข ๋ฅ์ ๋ฃจํ ์ฌ์ฉ
When traversing an ArrayList collection
, ์นด์ดํฐ ๋ณ์์ ํจ๊ป ์ผ๋ฐ ๋ฃจํ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค i
.
์ํธ |
---|
|
๊ทธ๋ฌ๋ ์ด ์ต์
์ ์ปฌ๋ ์
์ ์ ํฉํ์ง HashSet
์์ต๋๋ค HashMap
.
2. ๋ช ์์ ์ดํฐ๋ ์ดํฐ ์ฌ์ฉ
๋ฐ๋ณต์๋ฅผ ๋ช
์์ ์ผ๋ก ์ฌ์ฉํ๊ณ ํด๋น remove()
๋ฉ์๋๋ฅผ ํธ์ถํ ์ ์์ต๋๋ค.
์๋ํ๋ ๋ฒ์ | ์๋ํ์ง ์๋ ๋ฒ์ |
---|---|
|
|
remove()
๋ฐ๋ณต์ ๊ฐ์ฒด์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค๋ ์ ์ ์ ์ํ์ธ์ ! ๋ฐ๋ณต์๋ ํญ๋ชฉ์ด ์ ๊ฑฐ๋์์์ ์ธ์ํ๊ณ ์ํฉ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
3. ์ปฌ๋ ์ ์ฌ๋ณธ ์ฌ์ฉ
์ปฌ๋ ์
์ ๋ณต์ฌ๋ณธ์ ๋ง๋ ๋ค์ ๋ฃจํ์์ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉํ๊ณ for-each
์๋ณธ ์ปฌ๋ ์
์์ ์์๋ฅผ ์ญ์ ํ ์๋ ์์ต๋๋ค.
์ํธ | ๋ฉ๋ชจ |
---|---|
|
์ปฌ๋ ์
์ ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค. ๋ฃจํ๋ ์ปฌ๋ ์ ์ ๋ณต์ฌ๋ณธ์ ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ปฌ๋ ์ ์์ ์์๊ฐ ์ ๊ฑฐ๋ฉ๋๋ค list . |
์ปฌ๋ ์ ์ ์์ ์์ฒด๊ฐ ๋ณต์ ๋์ง ์๊ธฐ ๋๋ฌธ์ ์คํ๋ ค ๋น ๋ฅด๊ฒ ๋ณต์ฌ๋ฉ๋๋ค. ๋์ ์ ์ปฌ๋ ์ ์ ์ด์ ์ปฌ๋ ์ ์ ์ด๋ฏธ ์๋ ์์์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
GO TO FULL VERSION