Search

AI3 - 12์ผ์ฐจ ์˜ค์ „

๋น ๋ฅธ ์š”์•ฝ

์ด ํšŒ์˜์—์„œ๋Š” ๋ฆฌ์ŠคํŠธ, ๋ฒกํ„ฐ, ์Šคํƒ, ๋Œ€๊ธฐ์—ด ๋ฐ ์„ธํŠธ๋ฅผ ํฌํ•จํ•œ Java ์ปฌ๋ ‰์…˜์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๋‹ค๋ฃจ์—ˆ์œผ๋ฉฐ ๊ตฌํ˜„๊ณผ ์‹ค์ œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ฐ๋ชจ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” ๋™๊ธฐํ™”๋œ ์ปฌ๋ ‰์…˜๊ณผ ๋น„๋™๊ธฐํ™”๋œ ์ปฌ๋ ‰์…˜๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์ฐจ์ด์ ๊ณผ ๋‹ค์–‘ํ•œ ์ž‘์—…์—์„œ์˜ ํšจ์œจ์„ฑ์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํšŒ์˜์—์„œ๋Š” ์ƒ์„ฑ์ž ๋ฐ ์ƒ์†๊ณผ ๊ฐ™์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋…๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๊ฐ€์˜ค๋Š” ๊ณผ์ • ํ‰๊ฐ€ ๋ฐ ๋งˆ๊ฐ์ผ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
โ€ข
ํ‰๊ฐ€์ผ์€ ํ•ด๋‹น ๊ณผ๋ชฉ ๋งˆ์ง€๋ง‰ ์ˆ˜์—…์ผ
โ€ข
ํ‰๊ฐ€ ์ œ์ถœ ๋งˆ๊ฐ์ผ์€ ํ‰๊ฐ€์ผ๋กœ ๋ถ€ํ„ฐ ์•ฝ ์ผ์ฃผ์ผ~10์ผ

์š”์•ฝ

Java Collection Framework ๊ฐœ๋…์„ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค.

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

Java ๋ฒกํ„ฐ ๋ฐ ๋ฐฐ์—ด ๋ชฉ๋ก

ํ† ๋ก ์€ Java ์ปฌ๋ ‰์…˜์˜ ๋ฒกํ„ฐ์™€ ๋ฐฐ์—ด ๋ชฉ๋ก์— ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ๋ฒกํ„ฐ๊ฐ€ ๋™๊ธฐํ™”๋˜๊ณ  ์Šค๋ ˆ๋“œ ์•ˆ์ „ํ•˜์ง€๋งŒ ๋ฐฐ์—ด ๋ชฉ๋ก์€ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๊ณ  ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰์ด 10์ธ ๋‚ด๋ถ€ ๋ฐฐ์—ด ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ€๋“ ์ฐจ๋ฉด ๋‘ ๋ฐฐ๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ์ด๋Ÿฌํ•œ ์ปฌ๋ ‰์…˜์—์„œ ์š”์†Œ๋ฅผ ์ƒ์„ฑ, ์ถ”๊ฐ€, ์ œ๊ฑฐ ๋ฐ ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ ์š”์†Œ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ณ  ๊ธฐ์กด ์ปฌ๋ ‰์…˜์—์„œ ์ƒˆ๋กœ์šด ์ปฌ๋ ‰์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋ฐœํ‘œ์ž๋Š” ๋ฒกํ„ฐ์™€ ๋ฐฐ์—ด ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์ƒ ๋ชฉ๋ก์˜ ์‹ค์šฉ์ ์ธ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด ๋‘ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์œ ์‚ฌ์ ๊ณผ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๊ด€๋ จ ์—†๋Š” ์ฃผ์ œ์™€์˜ ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ๋Œ€ํ™” ๋Œ€ํ™”๋Š” ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๊ณ  ๋ช…ํ™•ํ•œ ๋งฅ๋ฝ์ด๋‚˜ ์ฃผ์ œ๊ฐ€ ๋ถ€์กฑํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. GalaxyBook, MacBook, ์‡ผํ•‘ ์นดํŠธ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์–ธ๊ธ‰๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์Œ์‹๊ณผ ๊ฐ€๊ฒฉ์— ๋Œ€ํ•œ ํ† ๋ก ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋‚จ์„ฑ ๊ฐ€์ •๋ถ€์— ๋Œ€ํ•œ ์–ธ๊ธ‰๋„ ์žˆ์ง€๋งŒ ๋งฅ๋ฝ์€ ๋ถˆ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”๋Š” ์ผ๊ด€๋œ ์„œ์‚ฌ๋‚˜ ๋ชฉ์ ์ด์—†๋Š” ๊ด€๋ จ์—†๋Š” ์ง„์ˆ ๊ณผ ์งˆ๋ฌธ์˜ ํ˜ผํ•ฉ ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

Java์—์„œ ์Šคํƒ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

ํ† ๋ก ์€ Java์—์„œ ์Šคํƒ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” LIFO(Last-in-First-out) ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ์„œ์˜ ์Šคํƒ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋ฉฐ, ํ‘ธ์‹œ, ํŒ, ํ”ผํฌ์™€ ๊ฐ™์€ ๋™์ž‘์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด ๊ฐ•์‚ฌ๋Š” Java์˜ ๋‚ด์žฅ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํƒ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ฃผ๋ฉฐ ์ œ๋„ค๋ฆญ์˜ ์‚ฌ์šฉ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” ๋˜ํ•œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์Šคํƒ์„ ๊ตฌํ˜„ํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์–ธ๊ธ‰ํ•˜์ง€๋งŒ ํŽธ์˜๋ฅผ ์œ„ํ•ด ๊ธฐ์กด ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ์„ ์œ„ํ•œ ์Šคํƒ ๊ตฌํ˜„

ํšŒ์˜์—์„œ Aloha๋Š” ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์Šคํƒ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ตฌํ˜„์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ์ถ”์ ๋˜๊ณ  "๋’ค๋กœ" ๋ฒ„ํŠผ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. Aloha๋Š” ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๊ธฐ๋ก์„ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ "๋’ค๋กœ"๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ๊ตฌํ˜„๊ณผ ๊ด€๋ จ๋œ ์ž ์žฌ์  ๋ฌธ์ œ์  ๋ฐ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งํฌ๋œ ๋ชฉ๋ก vs ๋ฐฐ์—ด ํšจ์œจ์„ฑ

๊ฐ•์‚ฌ๋Š” ๋งํฌ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๊ณ  ๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•˜๋ฉฐ ๊ตฌ์กฐ์™€ ์žฅ์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋งํฌ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ๋ฐ ๋” ํšจ์œจ์ ์ด๋ฉฐ, ๋ฐฐ์—ด์ด ํŠน์ • ์š”์†Œ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ๋” ๋น ๋ฅด๋‹ค๊ณ  ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” ๋˜ํ•œ ์ด์ค‘ ๋งํฌ ๋ชฉ๋ก๊ณผ ๊ทธ ์š”์†Œ ๊ฐ„ ์ด๋™ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค๊ฐ€์˜ค๋Š” ํ‰๊ฐ€์™€ ๋งˆ๊ฐ์ผ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๋ฉฐ, 3์›” 31์ผ๊ฒฝ ์ œ์ถœ ๋‚ ์งœ๋ฅผ ์ œ์•ˆํ•˜๊ณ  ์ตœ์ข… ์žฌ์ž…๋ ฅ๊นŒ์ง€ ์ผ์ฃผ์ผ์ด ์†Œ์š”๋  ๊ฒƒ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” ์ฝ”์Šค์˜ ์–ด๋ ค์›€์— ๋Œ€ํ•œ ์šฐ๋ ค๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋”ฐ๋ผ ์žก๊ธฐ ์œ„ํ•ด ๊ณ ๊ตฐ๋ถ„ํˆฌํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„์œ„ํ•œ ๊ฐ•ํ™” ์„ธ์…˜์„ ์ œ์•ˆํ•จ์œผ๋กœ์จ ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.

Java LinkedList๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ธฐ์—ด์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์‚ฌ๋Š” Java์˜ LinkedList ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ธฐ์—ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋Œ€๊ธฐ์—ด์ด FIFO(First-In-First-Out) ์›์น™์„ ๋”ฐ๋ฅด๋ฉฐ ํŽธ์˜์  ์Œ๋ฃŒ ๋ƒ‰์žฅ๊ณ ๋‚˜ ์นดํŽ˜ ์ค„๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋Š” 'offer' ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ธฐ์—ด์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  'poll' ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋˜ํ•œ 'peek' ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ž์ชฝ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ธฐ์—ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๊ตฌํ˜„

๋ฏธํŒ…์—์„œ ALOHA๋Š” Queue ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ธฐ์—ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๊ตฌํ˜„์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋Œ€๊ธฐ์—ด์„ ๋งŒ๋“ค๊ณ  ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ALOHA๋Š” ๋˜ํ•œ ๋Œ€๊ธฐ์—ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๊ฐœ๋…๊ณผ ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ์˜ ์ ์šฉ์„ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒ€์€ ์ฝ”๋“œ์—์„œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๊ฒช์—ˆ๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋Œ€๊ธฐ์—ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”๋Š” HashSet ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ํ† ๋ก ์œผ๋กœ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

Java์˜ Constructors์™€ Set Properties๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ํ† ๋ก ์€ ๋ถ€๋ชจ ๋ฐ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑ์ž์˜ ๊ตฌํ˜„๊ณผ Java ์ปฌ๋ ‰์…˜์˜ ์ง‘ํ•ฉ ์†์„ฑ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์ด ๊ทธ๋ฃน์€ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋ฐฉ๋ฒ•๊ณผ super() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€๋ชจ ์ƒ์„ฑ์ž๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ํŠน์„ฑ๊ณผ ์ค‘๋ณต ์š”์†Œ๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ ๋“ฑ ์„ธํŠธ์˜ ํŠน์ง•์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™”์—์„œ๋Š” ์„ธํŠธ๊ฐ€ ํ•ด์‹œ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์œ ์„ฑ์„ ๊ฒฐ์ •ํ•˜๊ณ  ์ค‘๋ณต์ด ์ถ”๊ฐ€๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

HashSet ๋ฐ HashMap ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

ํ† ๋ก ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ HashSet๊ณผ HashMap ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. Aloha๋Š” HashSet์ด ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์„ค๋ช…ํ•˜๊ณ  ๋ณต๊ถŒ ๋ฒˆํ˜ธ ์ƒ์„ฑ๊ธฐ์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ HashMap์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. HashMap์€ ํ‚ค-๊ฐ’ ์Œ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ‚ค๋Š” ๊ณ ์œ ํ•˜์ง€๋งŒ ๊ฐ’์€ ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Aloha๋Š” keySet, entrySet ๋ฐ Iterator ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜์—ฌ HashMap์˜ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉฐ ๋ฐ˜๋ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.