์ด ์ˆ˜์ค€์—์„œ๋Š” ๊ณ„์†ํ•ด์„œ ์ปฌ๋ ‰์…˜์— ์ต์ˆ™ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. HashMap ๋ฐ HashSet์ด ๋ฌด์—‡์ธ์ง€ ํŒŒ์•…ํ•˜๊ณ  Collections ๋„์šฐ๋ฏธ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. HashSet์˜ ๋งฅ๋ฝ์—์„œ ๋‹ค๋ฅธ ์œ ํ˜•์˜ ๋ฃจํ”„์ธ for-each ๋ฃจํ”„์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฃจํ”„๋Š” HashSet ์š”์†Œ ๋ชฉ๋ก์„ ํ™”๋ฉด์— ํ‘œ์‹œํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ฃผ์ œ๋Š” ๊ฐ๊ด€์‹ switch ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ˆจ์„ ๋“ค์ด์‰ฌ๊ณ  ๋‚ด์‰ฐ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ์ฃผ์ œ๋ฅผ ์™„์ „ํžˆ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค(ํ˜„์žฌ๋กœ์„œ๋Š”). ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๋‹จ์›์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ฝ์œผ์‹ญ์‹œ์˜ค. ์ง€๋ฃจํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค

ArrayList๊ฐ€ ๋”ฑ ๋งž๋Š” ๋ช‡ ๊ฐ€์ง€ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. Java ์ž‘์„ฑ์ž๋Š” ์ด๋ฅผ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋กœ ๊ฐ€์ ธ์™€ ๊ตฌํ˜„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž์™€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งค๋ฒˆ ์ง์ ‘ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์„œ์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…๊ณผ Collections ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

for-each ๋ฃจํ”„

์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋“ฏ์ด for-each ๋ฃจํ”„๋Š” ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ผ์ข…์˜ for ๋ฃจํ”„์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ์›์—์„œ๋Š” ์ด ๋ฃจํ”„๋ฅผ ๋ฐ์ดํ„ฐ ๋ฐฐ์—ด ๋ฐ ์ปฌ๋ ‰์…˜๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ๋ฅผ ์ฐพ๊ณ  ์ด ์œ ํ˜•์˜ ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ๋น„๋””์˜ค๋ฅผ ์‹œ์ฒญํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๋ฉด, for ๋ฐ for-each ๋ฃจํ”„์— ๋Œ€ํ•œ ์šฐ๋ฆฌ ํ•™์ƒ๋“ค์˜ ์ถ”๊ฐ€ ์ž๋ฃŒ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ Java์—์„œ ์ปฌ๋ ‰์…˜ ์ž‘์—…์„ ์œ„ํ•œ ๋Œ€์ฒด ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์˜ switch ๋ฌธ

๋‹น์‹ ์ด ๊ฐˆ๋ฆผ๊ธธ์— ๋ฉˆ์ถฐ ์„  ๊ธฐ์‚ฌ๋ผ๊ณ  ์ƒ์ƒํ•ด ๋ณด์„ธ์š”. ์™ผ์ชฝ์œผ๋กœ ๊ฐ€๋ฉด ๋ง์„ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋ฉด ์ง€์‹์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์„ ์ฝ”๋“œ๋กœ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ• ๊นŒ์š”? ์ด๋Ÿฌํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ์œ„ํ•ด if-then ๋ฐ if-then-else์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์ด๋ฏธ ์•Œ๊ณ  ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธธ์ด ๋‘˜๋กœ ๊ฐˆ๋ผ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—ด ๊ฐˆ๋ž˜๋กœ ๊ฐˆ๋ผ์ง„๋‹ค๋ฉด?

"์™„์ „ํžˆ ์˜ค๋ฅธ์ชฝ์œผ๋กœ", "์•ฝ๊ฐ„ ์™ผ์ชฝ์œผ๋กœ", "์กฐ๊ธˆ ๋” ์™ผ์ชฝ์œผ๋กœ" ๋“ฑ ์ด 10๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๋„๋กœ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ๋ฒ„์ „์—์„œ "if-then-else" ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์„ฑ์žฅํ• ์ง€ ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค! ๋„๋กœ์— 10๊ฐˆ๋ž˜ ๊ฐˆ๋ฆผ๊ธธ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์œ„ํ•ด Java์—๋Š” switch ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ์นœ๊ตฌ์— ๋Œ€ํ•ด ๋ช‡ ๋ฒˆ ๋” ์ด์•ผ๊ธฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

LinkedList

Java ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ArrayList๋งŒ์œผ๋กœ๋Š” ์‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋งŽ์€ ์œ ์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด LinkedList๋ผ๊ณ  ํ•˜๋Š” ์—ฐ๊ฒฐ๋œ ๋ชฉ๋ก์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ LinkedList์˜ ์ฒซ์ธ์ƒ์„ ํ˜•์„ฑํ–ˆ์ง€๋งŒ ๊ทธ ๊ธฐ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ์•„์ง ์ฒ ์ €ํžˆ ์กฐ์‚ฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๊นŒ? ๊ธฐ์‚ฌ๋ฅผ ์ฝ์œผ๋ฉด ์ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์ œ๊ณตํ•˜๋Š” ์ด์ ์— ๋Œ€ํ•ด ํ›จ์”ฌ ๋” ๋งŽ์ด ์ดํ•ดํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

HashMap: ์ด๊ฒƒ์€ ์–ด๋–ค ์ข…๋ฅ˜์˜ ์ง€๋„์ž…๋‹ˆ๊นŒ?

์ด์ „ ์ˆ˜์—…์˜ ๋˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ฌด์‹œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. HashMap์ด ๋ฌด์—‡์ธ์ง€ ์ด๋ฏธ ํŒŒ์•…ํ•˜์…จ์Šต๋‹ˆ๊นŒ? ๋งค์šฐ ์ข‹์€. ํ•˜์ง€๋งŒ ๋ถˆ์•ˆ๊ฐ์„ ๋Š๋ผ๊ณ  HashMap์ด ์ž์‹ ์˜ ๊ฐ•์  ์ค‘ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ๊ธฐ์‚ฌ๋ฅผ ์ฝ๊ณ  ๋ชฐ์ž…ํ•˜์‹ญ์‹œ์˜ค. ์—ฌ๊ธฐ์—๋Š” ์ˆ˜๋งŽ์€ ์œ ์šฉํ•œ ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Enum ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? Java 1.5๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „์— ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ "๋‹ค๋‹จ๊ณ„ ์†”๋ฃจ์…˜"์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Enum ํด๋ž˜์Šค๊ฐ€ ๋“ฑ์žฅํ–ˆ๊ณ  ์ผ๋ถ€ ํŠน์„ฑ๊ณผ ํ•จ๊ป˜ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํ•จ๊ป˜ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—์„œ๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๋ฐฐ์›๋‹ˆ๋‹ค.

์—ด๊ฑฐํ˜• ์‹ค์šฉ์ ์ธ ์˜ˆ. ์ƒ์„ฑ์ž ๋ฐ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

Enum์— ๋Œ€ํ•œ ๋ช‡ ๋งˆ๋”” ๋”. ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ฒŒ๋Š” ๋‹จ์–ด ์ˆ˜๋Š” ์ ์ง€๋งŒ ๋” ๋งŽ์€ ์ฝ”๋“œ์™€ ์—ฐ์Šต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ, ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์˜ ๋‘๋‡Œ๋Š” ์ง€์‹๋ณด๋‹ค๋Š” ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ํ˜ผ๋ž€์œผ๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ์— ๋Œ€ํ•ด ๋” ์ž˜ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๋ถ€๋„๋Ÿฌ์›Œํ•˜์ง€ ๋ง๊ณ  ์ž์œ ๋กญ๊ฒŒ ์ฝ๊ณ  ํƒ์ƒ‰ํ•˜์„ธ์š”.