๊ฐœ๋ฐœ์ผ์ง€

Array / ArrayList / LinkedList ๋ณธ๋ฌธ

Algorithm

Array / ArrayList / LinkedList

O'mil 2024. 5. 2. 15:21
728x90

๐Ÿ“Array

  • ๊ณ ์ •๋œ ํฌ๊ธฐ (ํ•œ ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ํฌ๊ธฐ ๋ณ€๋™ ์•ˆ๋จ)
  • ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…(int, double ๋“ฑ)๊ณผ ๊ฐ์ฒด ๋ชจ๋‘๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” ๋™์ผํ•œ ํƒ€์ž…์ด์—ฌ์•ผ ํ•จ
  • ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹น๋จ
  • ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ธ๋ฑ์Šค๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘
int[] arr = new int[ํฌ๊ธฐ];

 

 

๐Ÿ“ArrayList

  • ๋™์  ํฌ๊ธฐ (์š”์†Œ๋ฅผ ์ถ”๊ฐ€/์‚ญ์ œํ•จ์œผ๋กœ์จ ํฌ๊ธฐ๊ฐ€ ๋ณ€๊ฒฝ ๋  ์ˆ˜ ์žˆ์Œ)
  • ๊ฐ์ฒด๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์–ด์„œ ์›์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ํ•ด์•ผ ํ•จ (int → Integer)
  • ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€/์‚ญ์ œ/๊ฒ€์ƒ‰ํ•˜๋Š” ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•œ ์ž„์˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ(get๊ณผ set์—ฐ์‚ฐ์ด ๋งค์šฐ ๋น ๋ฆ„)
ArrayList<Integer> arrList = new ArrayList<>();

* ์ž๋ฐ”์—์„œ๋Š” 'ArrayList<Integer>' ๋ณด๋‹ค 'List<Integer>' ์‚ฌ์šฉ์„ ์žฅ๋ คํ•˜๊ณ  ์žˆ์Œ

  1. ์œ ์—ฐ์„ฑ
    • List๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚˜์ค‘์— LinkedList๋‚˜ ๋‹ค๋ฅธ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋กœ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
    • ์ฝ”๋“œ์˜ ์œ ์—ฐ์„ฑ์ด ๋†’์•„์ง€๊ณ , ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•œ ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  2. ์ถ”์ƒํ™”
    • ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์—์„œ ๋ฒ—์–ด๋‚˜ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•จ
    • ์ฝ”๋“œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„ ๋ฐฉ์‹์ด ์•„๋‹Œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ
      ๋”ฐ๋ผ์„œ, ์ฝ”๋“œ๊ฐ€ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์ง€๊ณ  ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ธฐ ์ข‹์•„์ง

 

๐Ÿ“LinkedList

  • ๋”๋ธ” ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ(Double Linked List) ๊ตฌ์กฐ๋กœ, ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ์ด์ „, ๋‹ค์Œ ๋…ธ๋“œ์˜ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ง
  • ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€/์‚ญ์ œ๊ฐ€ ์šฉ์ดํ•˜๋ฉฐ, ๋ฆฌ์ŠคํŠธ ์ค‘๊ฐ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ถ”๊ฐ€/์‚ญ์ œ๊ฐ€ ArrayList๋ณด๋‹ค ๋น ๋ฆ„
  • ํŠน์ • ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ, ArrayList๋ณด๋‹ค ์ ‘๊ทผ ์†๋„๊ฐ€ ๋Š๋ฆผ
List<Integer> LinkedList = new LinkedList<>();

 


๐Ÿ“Œ ๋น„๊ต

  ํŠน์„ฑ
Array - ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์„ ๋•Œ
- ๋ฐ์ดํ„ฐ์— ๋น ๋ฅด๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ
ArrayList - ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ
- ์ˆœ์ฐจ์ ์ธ ์ ‘๊ทผ์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ
- ์‚ฝ์ž…/์‚ญ์ œ๋ณด๋‹ค๋Š” ๋ฐ์ดํ„ฐ ์กฐํšŒ๋ฅผ ์ž์ฃผ ํ•  ๋•Œ
LinkedList - ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๊ฐ„์— ์‚ฝ์ž…/์‚ญ์ œ ํ•  ๋•Œ
- ์ˆœ์ฐจ์  ์ ‘๊ทผ๋ณด๋‹ค๋Š” ์ž„์˜ ์ ‘๊ทผ์ด ๋œ ํ•œ ๊ฒฝ์šฐ

 

728x90
Comments