Skip to content

Latest commit

ย 

History

History
74 lines (39 loc) ยท 2.99 KB

Array vs ArrayList vs LinkedList.md

File metadata and controls

74 lines (39 loc) ยท 2.99 KB

Array vs ArrayList vs LinkedList


์„ธ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •์˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.


  • Array๋Š” index๋กœ ๋น ๋ฅด๊ฒŒ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•จ
  • LinkedList๋Š” ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋น ๋ฆ„
  • ArrayList๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š”๋ฐ ๋น ๋ฅด์ง€๋งŒ, ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๊ฐ€ ๋Š๋ฆผ

์ข€ ๋” ์ž์„ธํžˆ ๋น„๊ตํ•˜๋ฉด?


์šฐ์„  ๋ฐฐ์—ด(Array)๋Š” ์„ ์–ธํ•  ๋•Œ ํฌ๊ธฐ์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

int arr[10];
String arr[5];

์ด์ฒ˜๋Ÿผ, array์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ• ๋‹นํ•  ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด๋†“๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค.

๋”ฐ๋ผ์„œ ๊ณ„์† ๋ฐ์ดํ„ฐ๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ, ์ตœ๋Œ€ ์‚ฌ์ด์ฆˆ๋ฅผ ์•Œ ์ˆ˜ ์—†์„ ๋•Œ๋Š” ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ถ€์ ํ•ฉํ•˜๋‹ค.

๋˜ํ•œ ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ๋„ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

4๋ฒˆ์งธ index ๊ฐ’์— ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๋ฉด? ์›๋ž˜๊ฐ’์„ ๋’ค๋กœ ๋ฐ€์–ด๋‚ด๊ณ  ํ•ด๋‹น index์— ๋ฎ์–ด์”Œ์›Œ์•ผ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •ํ•ด๋†“์€ ๋ฐฐ์—ด์—์„œ๋Š” ํ•ด๊ฒฐํ•˜๊ธฐ์—” ๋ถ€์ ํ•ฉํ•œ ์ ์ด ๋งŽ๋‹ค.

๋Œ€์‹ , ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด index๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜๋ฅผ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์–ด ๊ฒ€์ƒ‰์— ํŽธํ•œ ์žฅ์ ์ด ์žˆ๋‹ค.


์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์ด List๋‹ค.

List๋Š” array์ฒ˜๋Ÿผ ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋Œ€์‹  array์—์„œ index๊ฐ€ ์ค‘์š”ํ–ˆ๋‹ค๋ฉด, List์—์„œ๋Š” ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋”๋ผ๋„ array์—์„œ ๊ฐ–๊ณ  ์žˆ๋˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. index๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ฒ€์ƒ‰๋„ ๋น ๋ฅด๋‹ค.

ํ•˜์ง€๋งŒ, ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œํ•  ๋•Œ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค. (๋”ํ•˜๊ฑฐ๋‚˜ ๋บ„๋•Œ๋งˆ๋‹ค ์ค„์ค„์ด ๋‹น๊ฒจ์ง€๊ฑฐ๋‚˜ ๋ฐ€๋ ค๋‚  ๋•Œ ์ง„ํ–‰๋˜๋Š” ์—ฐ์‚ฐ์ด ์ถ”๊ฐ€, ๋ฉ”๋ชจ๋ฆฌ๋„ ๋‚ญ๋น„..)


๊ทธ๋ ‡๋‹ค๋ฉด LinkedList๋Š”?

์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ์—๋Š” ๋‹จ์ผ, ๋‹ค์ค‘ ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์ข…๋ฅ˜๊ฐ€ ๋ฌด์—‡์ด๋“ , ํ•œ ๋…ธ๋“œ์— ์—ฐ๊ฒฐ๋  ๋…ธ๋“œ์˜ ํฌ์ธํ„ฐ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ๋˜์–ด์žˆ๋‹ค.

๋‹จ์ผ์€ ๋’ค์— ๋…ธ๋“œ๋งŒ ๊ฐ€๋ฆฌํ‚ค๊ณ , ๋‹ค์ค‘์€ ์•ž๋’ค ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐจ์ด


์ด๋Ÿฐ ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜๋ฉด์„œ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๊ฐ„์— ์‚ฝ์ž… ๋ฐ ์‚ญ์ œ๋ฅผ ํ•˜๋”๋ผ๋„ ์ „์ฒด๋ฅผ ๋Œ์ง€ ์•Š์•„๋„ ์ด์ „ ๊ฐ’๊ณผ ๋‹ค์Œ๊ฐ’์ด ๊ฐ€๋ฅด์ผฐ๋˜ ์ฃผ์†Œ๊ฐ’๋งŒ ์ˆ˜์ •ํ•˜์—ฌ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ๋งŒ ๋ณด๋ฉด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ๊ฐ™์•„๋ณด์ด์ง€๋งŒ, List์˜ k๋ฒˆ์งธ ๊ฐ’์„ ์ฐพ์•„๋ผ์—์„œ๋Š” ๋น„ํšจ์œจ์ ์ด๋‹ค.


array๋‚˜ arrayList์—์„œ index๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์ด ๋น ๋ฅด์ง€๋งŒ, LinkedList๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์‚ดํŽด๋ด์•ผํ•˜๋ฏ€๋กœ(์ˆœ์ฐจ) ๊ฒ€์ƒ‰์— ์žˆ์–ด์„œ๋Š” ์‹œ๊ฐ„์ด ๋” ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.


๋”ฐ๋ผ์„œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ž˜ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.