๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

STUDY/JAVA

List์™€ Array(๋ฐฐ์—ด)์˜ ์ฐจ์ด์  + ArrayList

๋ฐ˜์‘ํ˜•

1. List : ์ธ๋ฑ์Šค์—†์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ์„ ๋งํ•œ๋‹ค.

ํŠน์ง•
1. ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ์žˆ์ง€ ์•Š์Œ(๋ถ„์‚ฐ๋˜์–ด ์ €์žฅ๋จ)
2. ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •์ ์ด์ง€ ์•Š์Œ(์ž๋ฐ”์—์„œ๋Š” ํฌ๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ 1.5๋ฐฐ์”ฉ ๋Š˜์–ด๋‚จ)
3. ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ด๋‚˜ ์‚ญ์ œ๊ฐ€ ์‰ฌ์›€
4. ์“ฐ์ง€์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์ด ๋งŽ์•„์ง

2. Array(๋ฐฐ์—ด) : ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ์„ ๋งํ•œ๋‹ค.

ํŠน์ง•
1. ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ• ๋‹น๋˜์–ด ์žˆ์Œ.
2. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๊ณ 
3. ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์Œ(๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ํฌ๊ธฐํ• ๋‹น)
4. ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ด๋‚˜ ์‚ญ์ œ๊ฐ€ ์–ด๋ ต๋‹ค.
5. ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Array๊ฐ€ ๋” ํšจ์œจ์ 

JAVA์˜ List์ข…๋ฅ˜์—๋Š” ArrayList์™€ LinkedList๊ฐ€ ์žˆ๋‹ค.

3. LinkedList

ํŠน์ง•
1. LinkedList๋Š” Abstract Sequential List๋ฅผ ์ƒ์†ํ•œ๋‹ค
2. ๋ฆฌ์ŠคํŠธ์˜ ํ˜•์‹
3. ์ƒˆ๋กœ์šด ์ž๋ฃŒ์˜ ์‚ฝ์ž…์ด๋‚˜ ๊ธฐ์กด ์ž๋ฃŒ์˜ ์‚ญ์ œ๋ฅผ ๋น ๋ฅธ ์‹œ๊ฐ„๋‚ด์— ํ•  ์ˆ˜ ์žˆ์Œ.
4. ๋ฌดํ•œ ๊ฐœ์˜ ์ž๋ฃŒ๋ฅผ ์‚ฝ์ž… ํ•  ์ˆ˜ ์žˆ์Œ
5. ๋žœ๋ค์ ‘๊ทผ ๋ถˆ๊ฐ€ ์ˆœ์ฐจ์ ์ ‘๊ทผ(sequential access)๋งŒ ๊ฐ€๋Šฅ

 

4. ArrayList :

ํŠน์ง•
1. ArrayList๋Š” AbstractList๋ฅผ ์ƒ์†ํ•˜๊ณ  ์žˆ๋‹ค.
2. ๋ฐฐ์—ด์˜ ํ˜•์‹
3. ๋ฐ์ดํ„ฐ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๋ถ€์ ํ•ฉํ•จ.
4. ๋ฌด์ž‘์œ„ ์ ‘๊ทผ(random access)์ด ๊ฐ€๋Šฅํ•จ

 

 

๋ฐ˜์‘ํ˜•