CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java์˜ ์ปฌ๋ ‰์…˜
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java์˜ ์ปฌ๋ ‰์…˜

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Java์˜ ์ปฌ๋ ‰์…˜์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Java์˜ ์ปฌ๋ ‰์…˜์€ ๋ชจ๋“  ์š”์†Œ๋ฅผ โ€‹โ€‹๋‹จ์ผ ๋‹จ์œ„๋กœ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ”์ผ ํด๋”(์ด๋ฉ”์ผ ๊ทธ๋ฃน), ์ „ํ™”๋ฒˆํ˜ธ๋ถ€(์ด๋ฆ„๊ณผ ์ „ํ™”๋ฒˆํ˜ธ ๋งคํ•‘) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ œ๊ณต๋œ ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐ๋ณธ ๊ธฐ๋ฐ˜ ๋˜๋Š” ๋ ˆ์ด์•„์›ƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด , Laravel์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋ณธ ๋ผˆ๋Œ€๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ์œ ๋ช…ํ•œ PHP ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

Java์˜ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ชจ๋“  ๊ฐœ์ฒด๋Š” ์ปฌ๋ ‰์…˜์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์ œ๊ณตํ•˜๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ํ•จ๊ป˜ ๋‹จ์ผ ๊ฐœ์ฒด๋กœ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Java์˜ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ฐ์ดํ„ฐ ๋ฐ ๋ฉ”์†Œ๋“œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ •๋ ฌ, ๊ฒ€์ƒ‰, ์‚ญ์ œ ๋ฐ ์‚ฝ์ž… ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๊ตฌํ˜„๋œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . ์˜ˆ๋ฅผ ๋“ค์–ด , ์ž„์˜์˜ ํšŒ์‚ฌ๊ฐ€ ์„ ์ฐฉ์ˆœ์œผ๋กœ ๊ณ ๊ฐ ์„œ๋น„์Šค๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” FIFO(์„ ์ž…์„ ์ถœ) ๊ตฌํ˜„์ด๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ์ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ตฌํ˜„๋ณด๋‹ค๋Š” ๊ฐ€์ ธ์˜ค๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋Š” Queue ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘์—…์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ๊ตฌํ˜„ : ๋‹ค์Œ ์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ปฌ๋ ‰์…˜์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
import java.util.*;
ํŠน์ • ์ปฌ๋ ‰์…˜์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •ํ™•ํ•œ ํŒจํ‚ค์ง€ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
import java.util.LinkedList;

Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ด์ 

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์ด๋ฏธ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์‹œ๊ฐ„ ์ ˆ์•ฝ).
  2. ์„ฑ๋Šฅ ํšจ์œจ์„ฑ(์†๋„ ๋ฐ ํ’ˆ์งˆ).
  3. ์ƒˆ๋กœ์šด API๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋…ธ๋ ฅ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด์ œ ์ปฌ๋ ‰์…˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋จผ์ € ์ด ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  1. ์ธํ„ฐํŽ˜์ด์Šค
  2. ํด๋ž˜์Šค(๊ตฌํ˜„)
  3. ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ˆ˜์ง‘ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ณ„์ธต ๊ตฌ์กฐ

Java ์ปฌ๋ ‰์…˜ - 1๋‹น์‹ ์˜ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด:
  1. Collection, Set, Queue ๋ฐ List๋Š” ๋ชจ๋‘ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. Set, Queue ๋ฐ List๋Š” Collection ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ•ด ํ™•์žฅ ๋ฉ๋‹ˆ๋‹ค.
  2. PriorityQueue, HashSet, LinkedList ๋ฐ Stack์€ ๋ชจ๋‘ ํด๋ž˜์Šค์ด๊ฑฐ๋‚˜ ์ด๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.
  3. ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜๋Š” ์•„๋‹™๋‹ˆ๋‹ค . ์˜ˆ๋ฅผ ๋“ค์–ด LinkedList๋Š” Deque ์ธํ„ฐํŽ˜์ด์Šค๋„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜ ์œ ํ˜•

Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—๋Š” ์šฐ๋ฆฌ์˜ ๋…ธ๋ ฅ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์œ ํ˜•์˜ ์ปฌ๋ ‰์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ผ๋ถ€ ์ปฌ๋ ‰์…˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
  1. ArrayList ํด๋ž˜์Šค
  2. ๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ ํด๋ž˜์Šค
  3. ๋ชฉ๋ก ์ธํ„ฐํŽ˜์ด์Šค
  4. ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •
  5. ๋Œ€๊ธฐ์—ด ์ธํ„ฐํŽ˜์ด์Šค
  6. ์ง€๋„ ์ธํ„ฐํŽ˜์ด์Šค
  7. PriorityQueue ํด๋ž˜์Šค
  8. ํ•ด์‹œ๋งต ํด๋ž˜์Šค
  9. ๋น„๊ต ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค
  10. LinkedHashMap ํด๋ž˜์Šค
  11. ํŠธ๋ฆฌ๋งต ํด๋ž˜์Šค
  12. ํ•ด์‹œํ…Œ์ด๋ธ”

์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค

์—ฌ๊ธฐ์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค์—์„œ ๊ตฌํ˜„ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ง‘ ์ธํ„ฐํŽ˜์ด์Šค

์ด๋Š” ๊ตฌํ˜„์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ๋ณธ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. Map์€ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š” ์œ ์ผํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ด์ง€๋งŒ ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ์ปฌ๋ ‰์…˜์˜ ํฌ๊ธฐ, ๊ฐœ์ฒด๊ฐ€ ์ปฌ๋ ‰์…˜์— ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€, ์ปฌ๋ ‰์…˜์—์„œ ๊ฐœ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค

๋ชจ๋“  ํด๋ž˜์Šค์— ์˜ํ•ด ๊ตฌํ˜„๋˜๋Š” Collection ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ•ด ํ™•์žฅ๋˜๋ฏ€๋กœ Collections ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ฃจํŠธ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ํŠน์ • ์ปฌ๋ ‰์…˜์„ ๋ฐ˜๋ณตํ•  ๋ฐ˜๋ณต์ž๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๊ธฐ์—ด ์ธํ„ฐํŽ˜์ด์Šค

๋Œ€๊ธฐ์—ด์€ ์š”์†Œ๋ฅผ ๋ณด์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์ง€๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ปฌ๋ ‰์…˜ ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์ถ”๊ฐ€ ์‚ฝ์ž… ๋ฐ ์ถ”์ถœ ๋ฐฉ๋ฒ•๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •

์„ธํŠธ๋Š” ๊ณ ์œ ํ•œ ์š”์†Œ๋ฅผ ๋ณด์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ˆ˜ํ•™์  ์ง‘ํ•ฉ ์ถ”์ƒํ™”๋ฅผ ๋ชจ๋ธ๋งํ•˜์—ฌ ๊ธฐ๊ณ„์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™์€ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ชฉ๋ก ์ธํ„ฐํŽ˜์ด์Šค

๋ฆฌ์ŠคํŠธ๋Š” ์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œํ€€์Šค๋ผ๊ณ ๋„ ํ•˜๋Š” ์ˆœ์„œ๊ฐ€ ์ง€์ •๋œ ์ปฌ๋ ‰์…˜์ž…๋‹ˆ๋‹ค. ์ •์ˆ˜ ์ธ๋ฑ์Šค ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์ง€์ ์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  ํŠน์ • ์š”์†Œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ์ œ์–ด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. LinkedList ๋ฐ ArrayList๋Š” List ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

๋ฐํฌ ์ธํ„ฐํŽ˜์ด์Šค

Deque๋Š” ์–‘์ชฝ ๋์—์„œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•˜๋Š” ์ด์ค‘ ๋ ํ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์–‘์ชฝ ๋์—์„œ ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Deque ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋Œ€๊ธฐ์—ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค. ArrayDeque์™€ LinkedList๋Š” ๋ชจ๋‘ Deque ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์–‘์ชฝ ๋์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ ๋ฐ ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ง€๋„ ์ธํ„ฐํŽ˜์ด์Šค

๋งต ์ธํ„ฐํŽ˜์ด์Šค๋„ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ผ๋ถ€์ด์ง€๋งŒ ์ปฌ๋ ‰์…˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ตฌํ˜„์€ HashSet, TreeSet ๋ฐ LinkedHashSet๊ณผ ํŠน์ • ์ธก๋ฉด์—์„œ ์œ ์‚ฌํ•œ HashMap, TreeMap ๋ฐ LinkesHashMap์ž…๋‹ˆ๋‹ค. ํ•ญ์ƒ ๊ณ ์œ  ํ‚ค๋ฅผ ํฌํ•จํ•˜์ง€๋งŒ ๊ฐ’์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€, ์‚ญ์ œ, ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. put , get , Remove , size , empty ๋“ฑ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ๋ฉ”์†Œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค .

์ด๋Ÿฌํ•œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•

์ด์ œ ์šฐ๋ฆฌ๋Š” Map ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ด ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
ํ–‰๋™ ์–‘์‹ ์„ค๋ช…
๊ณต๊ฐœ ๋ถ€์šธ ์ถ”๊ฐ€(E e) ์ปฌ๋ ‰์…˜์— ์š”์†Œ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ๋ถ€์šธ ์ œ๊ฑฐ(๊ฐ์ฒด ์š”์†Œ) ์ปฌ๋ ‰์…˜์—์„œ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ์ •์ˆ˜ ํฌ๊ธฐ() ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ๋ถ€์šธ ํฌํ•จ(๊ฐ์ฒด ์š”์†Œ) ์š”์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ๋ถ€์šธ isEmpty() ์ปฌ๋ ‰์…˜์ด ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
๊ณต๊ฐœ ๋ถ€์šธ ๊ฐ™์Œ(๊ฐ์ฒด ์š”์†Œ) ๋™๋“ฑ์„ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

์šฐ๋ฆฌ๊ฐ€ ์•Œ๊ณ  ์žˆ๋“ฏ์ด ํ”„๋ ˆ์ž„์›Œํฌ์—๋Š” ๋‚ด๋ถ€์˜ ๋งŽ์€ ํด๋ž˜์Šค์— ์˜ํ•ด ๊ตฌํ˜„๋˜๋Š” ๋‹ค์–‘ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํด๋ž˜์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งํฌ๋“œ๋ฆฌ์ŠคํŠธ

๋‚ด๋ถ€์— ์š”์†Œ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ด์ค‘ ์—ฐ๊ฒฐ ๋ชฉ๋ก์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Queue ์ธํ„ฐํŽ˜์ด์Šค์™€ List ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ•ด ํ™•์žฅ๋œ Dequeue ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ LinkedList๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์—์„œ ๋…ผ์˜ํ•œ ๋ฌธ์ œ(FIFO ๊ฐœ๋…)๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๊ณ ๊ฐ์ด ๋„์ฐฉํ•˜๋Š” ๋ฐฉ์‹, ์ฆ‰ ์„ ์ž…์„ ์ถœ ๋ฐฉ์‹ ์œผ๋กœ ๊ณ ๊ฐ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค .

์˜ˆ

import java.util.*;

public class LinkedListExample {
    public static void main(String[] args) {
        Queue<String> customerQueue = new LinkedList<String>();
        //Adding customers to the Queue as they arrived
        customerQueue.add("John");
        customerQueue.add("Angelina");
        customerQueue.add("Brooke");
        customerQueue.add("Maxwell");

        System.out.println("Customers in Queue:"+customerQueue);
        //element() => returns head of the queue
        //we will see our first customer and serve him
        System.out.println("Head of the queue i.e first customer: "+customerQueue.element());
        //remove () method =>removes first element(customer) from the queue i.e the customer is served so remove him to see next
        System.out.println("Element removed from the queue: "+customerQueue.remove());
        //poll () => removes and returns the head
        System.out.println("Poll():Returned Head of the queue: "+customerQueue.poll());
        //print the remaining customers in the Queue
        System.out.println("Final Queue:"+customerQueue);
    }
}

์‚ฐ์ถœ

๋Œ€๊ธฐ์—ด์˜ ๊ณ ๊ฐ:[John, Angelina, Brooke, Maxwell] ๋Œ€๊ธฐ์—ด์˜ ํ—ค๋“œ, ์ฆ‰ ์ฒซ ๋ฒˆ์งธ ๊ณ ๊ฐ: John ์š”์†Œ๊ฐ€ ๋Œ€๊ธฐ์—ด์—์„œ ์ œ๊ฑฐ๋จ: John Poll():๋ฐ˜ํ™˜๋œ ๋Œ€๊ธฐ์—ด์˜ ํ—ค๋“œ: Angelina ์ตœ์ข… ๋Œ€๊ธฐ์—ด:[Brooke, Maxwell]

๋ฐฐ์—ด๋ชฉ๋ก

์ด๋Š” ๋‹จ์ˆœํžˆ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฝ์ž… ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋™์  ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์š”์†Œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์š”์†Œ๋Š” ๋ณต์ œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋น„๋™๊ธฐํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ null ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž…ํ•ด์•ผ ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋‚˜ ์š”์†Œ ์ˆ˜๋ฅผ ๋ชจ๋ฅผ ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ฑ…์„ ๋ณด๊ด€ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋Š” ๋„์„œ๊ด€์˜ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฑ…์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ์ด๋ฅผ ArrayList์— ์‚ฝ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

public class ArrayListExample {
	public static void main(String args[]) {

		// Creating the ArrayList
		ArrayList<String> books = new ArrayList<String>();

		// Adding a book to the list
		books.add("Absalom, Absalom!");
		// Adding a book in array list
		books.add("A Time to Kill");
		// Adding a book to the list
		books.add("The House of Mirth");
		// Adding a book to the list
		books.add("East of Eden");
		// Traversing the list through Iterator
		Iterator<String> itr = books.iterator();
		while (itr.hasNext()) {
			System.out.println(itr.next());
		}
	}
}

์‚ฐ์ถœ

์••์‚ด๋กฌ, ์••์‚ด๋กฌ! ์—๋ด ๋™์ชฝ์— ์žˆ๋Š” ๋ฏธ๋ฅด์Šค์˜ ์ง‘์„ ์ฃฝ์ผ ์‹œ๊ฐ„

ํ•ด์‹œ์„ธํŠธ

์ด๋Š” Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ ์ค‘๋ณต๋œ ๊ฐ’์„ ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ null ๊ฐ’๋„ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ฝ์ž… ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์ง€๋งŒ add , Remove , size ๋ฐ contain ๋ฉ”์†Œ๋“œ ์— ๋Œ€ํ•ด ์ผ์ •ํ•œ ์‹œ๊ฐ„ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . ๊ฒ€์ƒ‰ ์ž‘์—…์— ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋ฉฐ ๋™๊ธฐํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ

import java.util.*;
class HashSetExample{
    public static void main(String args[]){
        //creating HashSet and adding elements to it
        HashSet<Integer> hashSet=new HashSet();
        hashSet.add(1);
        hashSet.add(5);
        hashSet.add(4);
        hashSet.add(3);
        hashSet.add(2);
        //getting an iterator for the collection
        Iterator<Integer> i=hashSet.iterator();
        //iterating over the value
        while(i.hasNext())  {
            System.out.println(i.next());
        }
    }
}

์‚ฐ์ถœ

1 2 3 4 5
๋ณด์‹œ๋‹ค์‹œํ”ผ ์‚ฝ์ž… ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ArrayDeque

Deque ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์–‘์ชฝ ๋์—์„œ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. null ๊ฐ’์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Stack, LinkedList๋กœ ๊ตฌํ˜„ํ•˜๋ฉด Stack, LinkedList๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค. ArrayDeque๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ํ™•์žฅ ๋ฐ ์ถ•์†Œ๋˜๋ฏ€๋กœ ํฌ๊ธฐ ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋น„๋™๊ธฐํ™”๋˜์–ด ์žˆ์–ด ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ์ผ๋ถ€ ์™ธ๋ถ€ ๋…ผ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ

import java.util.*;
public class ArrayDequeExample {
   public static void main(String[] args) {
       //creating Deque and adding elements
       Deque<String> deque = new ArrayDeque<String>();
       //adding an element
       deque.add("One");
       //adding an element at the start
       deque.addFirst("Two");
       //adding an element at the end
       deque.addLast("Three");
       //traversing elements of the collection
       for (String str : deque) {
            System.out.println(str);
       }
   }
}

์‚ฐ์ถœ

๋‘˜ ํ•˜๋‚˜ ์…‹

ํ•ด์‹œ๋งต

์ด๋Š” ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ์ง€์›ํ•˜๋Š” Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค. ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. null ๊ฐ’์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋™๊ธฐํ™”๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์‚ฝ์ž… ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. get ๋ฐ put ๊ณผ ๊ฐ™์€ ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ์ผ์ •ํ•œ ์‹œ๊ฐ„ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค . ์„ฑ๋Šฅ์€ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ ๊ณผ ๋ถ€ํ•˜์œจ์ด๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์š”์†Œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค . ์šฉ๋Ÿ‰์€ ํ•ด์‹œ ํ…Œ์ด๋ธ”์˜ ๋ฒ„ํ‚ท ์ˆ˜์ด๋ฏ€๋กœ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰์€ ์ƒ์„ฑ ์‹œ ํ• ๋‹น๋œ ๋ฒ„ํ‚ท ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋กœ๋“œ ํŒฉํ„ฐ๋Š” ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ธฐ ์ „์— ํ•ด์‹œ ํ…Œ์ด๋ธ”์ด ์ฑ„์›Œ์งˆ ์ˆ˜ ์žˆ๋Š” ์–‘์„ ์ธก์ •ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Rehash ๋ฐฉ์‹์€ ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ ์ฃผ๋กœ ๋ฒ„ํ‚ท ์ˆ˜๋ฅผ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

์˜ˆ

import java.util.*;
public class HashMapExample{
    public static void main(String args[]){
        //creating a HashMap
        HashMap<Integer,String> map=new HashMap<Integer,String>();
        //putting elements into the map
        map.put(1,"England");
        map.put(2,"USA");
        map.put(3,"China");

        //get element at index 2
        System.out.println("Value at index 2 is: "+map.get(2));
        System.out.println("iterating map");
        //iterating the map
        for(Map.Entry m : map.entrySet()){
            System.out.println(m.getKey()+" "+m.getValue());
        }
    }
}

์‚ฐ์ถœ

์ธ๋ฑ์Šค 2์˜ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ค‘๊ตญ ๋ฐ˜๋ณต ์ง€๋„ 1 ์˜๊ตญ 2 ๋ฏธ๊ตญ 3 ์ค‘๊ตญ

์•Œ๊ณ ๋ฆฌ์ฆ˜

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ปฌ๋ ‰์…˜์— ์ ์šฉํ•  ๋‹ค์–‘ํ•œ ์ž‘์—…์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ด๋–ค ์ฃผ์š” ์ž‘์—…์„ ๋‹ค๋ฃจ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ด€๋ จ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์ •๋ ฌ
  2. ์ˆ˜์ƒ‰
  3. ์…”ํ”Œ๋ง
  4. ์ผ์ƒ์ ์ธ ๋ฐ์ดํ„ฐ ์กฐ์ž‘
  5. ๊ตฌ์„ฑ
  6. ๊ทน๋‹จ๊ฐ’ ์ฐพ๊ธฐ
๋” ๋‚˜์€ ์ดํ•ด๋ฅผ ์œ„ํ•ด ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ •๋ ฌ

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ˆœ์„œ ๊ด€๊ณ„์— ๋”ฐ๋ผ ๋ชฉ๋ก์„ ๋‹ค์‹œ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ์˜ ๊ด€๊ณ„๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  1. ์ž์—ฐ์ ์ธ ์ˆœ์„œ
  2. ๋น„๊ต ์ •๋ ฌ

์ž์—ฐ์ ์ธ ์ˆœ์„œ

์ž์—ฐ ์ˆœ์„œ์—์„œ๋Š” ๋ชฉ๋ก์ด ํ•ด๋‹น ์š”์†Œ์— ๋”ฐ๋ผ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

๋น„๊ต ์ •๋ ฌ

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

์˜ˆ

import java.util.*;
public class SortingExample{
    public static void main(String args[]){
        //Creating arraylist
        ArrayList<String> books=new ArrayList<String>();
        //Adding a book to the arraylist
        books.add("A Time to Kill");
        //Adding a book to the arraylist
        books.add("Absalom, Absalom!");
        //Adding a book to the arraylist
        books.add("The House of Mirth");
        //Adding a book to the arraylist
        books.add("East of Eden");
        //Traversing list through Iterator before sorting
        Iterator itrBeforeSort=books.iterator();
        while(itrBeforeSort.hasNext()){
            System.out.println(itrBeforeSort.next());
        }
        //sorting the books
        Collections.sort(books);
        System.out.println("After sorting the books");
        //Traversing list through Iterator after sorting
        Iterator itr=books.iterator();
        while(itr.hasNext()){
            System.out.println(itr.next());
        }
    }
}

์‚ฐ์ถœ

์••์‚ด๋กฌ์„ ์ฃฝ์ผ ๋•Œ๋‹ค ์••์‚ด๋กฌ์•„! ์—๋ด๋™์ชฝ ํ™˜ํฌ์˜ ์ง‘ ์ฑ…์„ ์ •๋ฆฌํ•œ ํ›„ ์••์‚ด๋กฌ์„ ์ฃฝ์ผ ๋•Œ, ์••์‚ด๋กฌ! ์—๋ด์˜ ๋™์ชฝ ๋ฏธ๋ฅด์Šค์˜ ์ง‘

๊ฒฐ๋ก 

์ด์ œ Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์…จ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์–ธ์ œ๋“ ์ง€ ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Java์—์„œ์˜ ๋…ธ๋ ฅ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์œ ๋กญ๊ฒŒ ์—ฐ์Šตํ•˜๊ณ  ๋„์›€์ด ๋” ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์—ฌ๊ธฐ๋กœ ๋‹ค์‹œ ์˜ค์„ธ์š”. ์ฆ๊ฑฐ์šด ํ•™์Šต!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION