Bibi's DevLog ๐Ÿค“๐ŸŽ

[Java] List ๋ฆฌ์ŠคํŠธ = ArrayList ๋กœ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ๋ณธ๋ฌธ

๐Ÿ–ฅ BE ๋ฐฑ์—”๋“œ/Java ์ž๋ฐ”

[Java] List ๋ฆฌ์ŠคํŠธ = ArrayList ๋กœ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๋น„๋น„ bibi 2021. 2. 18. 00:15

List ๋ฆฌ์ŠคํŠธ = ArrayList ๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ 

์ถœ์ฒ˜ : List์™€ ArrayList, ์—…์บ์ŠคํŒ…์„ ํ•˜๋Š” ์ด์œ  . ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค๐Ÿ‘

List<Object> list = new ArrayList<Object>();` `ArrayList<Object> list = new ArrayList<>();

๋Œ€๋ถ€๋ถ„์˜ ArrayList๋Š” ์•„๋ž˜๋ณด๋‹จ ์œ„์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์„ ์–ธํ•˜์—ฌ ์‚ฌ์šฉ๋œ๋‹ค.
ArrayList์™€ ๊ฐ™์€ ๊ตฌํ˜„์ฒด ํด๋ž˜์Šค๊ฐ€ ์•„๋‹Œ, List๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์„ ์–ธํ•˜๋Š” ์‹์ด๋‹ค.

์œ„์™€ ๊ฐ™์ด ์ฝ”๋”ฉํ•˜๋Š” ๊ฒƒ์„ ๋งŽ์ด ๋ณด๊ธฐ๋„ ํ–ˆ๊ณ , ์˜ค๋Š˜ ํ”ผ๋“œ๋ฐฑ๋„ ๋ฐ›์•„์„œ
์™œ ArrayList๋ฅผ ์ฃผ๋กœ ์ €๋ ‡๊ฒŒ ์—…์บ์ŠคํŒ…ํ•ด์„œ ์„ ์–ธํ•˜๋Š”์ง€ ๊ทธ ์ด์œ ๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค.

์š”์•ฝ : ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ผํ™˜์œผ๋กœ, ๋‹คํ˜•์„ฑ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.
์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•œ ๊ตฌ์กฐ๋กœ ๋ฏธ๋ฆฌ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค

์˜ˆ๋ฅผ ๋“ค์–ด.. ArrayList๋Š” ๋น ๋ฅธ ํƒ์ƒ‰์— ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๊ณ ,
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ List์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ LinkedList๋Š” ์‚ฝ์ž…/์‚ญ์ œ์— ์œ ๋ฆฌํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

๋งŒ์•ฝ ArrayList<Object> list = new ArrayList<>(); ์™€ ๊ฐ™์ด ArrayList๋ผ๋Š” ์ธ์Šคํ„ด์Šค๋กœ ์„ ์–ธํ•˜๋ฉด,
๋‚˜์ค‘์— ๋ฐ์ดํ„ฐ์˜ ์šฉ๋„๊ฐ€ ๋ฐ”๋€Œ์–ด ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ์œ ๋ฆฌํ•œ LinkedList ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๋•Œ ArrayList๋กœ ์„ ์–ธ๋œ ๋ชจ๋“  ๋ถ€๋ถ„์„ LinkedList๋กœ ๋ณ€๊ฒฝํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
๋˜, ArrayList์—์„œ๋Š” ์ง€์›ํ•˜์ง€๋งŒ LinkedList์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ๊ทธ ๋ฉ”์†Œ๋“œ๋ฅผ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค.
์ด๋Š” ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•˜์ง€ ๋ชปํ•œ ๊ตฌ์กฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด List<Object> arrList = new ArrayList<>(); ์™€ ๊ฐ™์ด List๋ผ๋Š” ์ธ์Šคํ„ด์Šค๋กœ ์„ ์–ธํ•˜๋ฉด,
๋˜‘๊ฐ™์€ ์ƒํ™ฉ์ด ์˜ค๋”๋ผ๋„ ์„ ์–ธ๋ถ€ ์™ธ์— ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„์—์„œ ์ด์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—…์บ์ŠคํŒ…ํ•˜์—ฌ ์„ ์–ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ถ”๊ฐ€ ) ํ˜ธ๋ˆ…์Šค์˜ ๋‹ต๋ณ€

  • ๋‘ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ๋‹ค.

  • ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ArrayList๋งŒ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.

    • List๋ฅผ ์“ฐ๊ณ  ์‹ถ์€๋ฐ, List๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค ์ค‘์— ArrayList๋กœ ๊ทธ๋ƒฅ ์„ ์–ธํ•˜๋Š” ๊ฒƒ.
    • List๋กœ ์„ ์–ธํ•ด์•ผ List์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ๊นŒ์ง€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ”๊ฟ”์•ผ ํ•  ๋•Œ ๋” ํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ถ”๊ฐ€ ) StackOverFlow

์ด๋Š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ํŠน์ • ๊ตฌํ˜„๊ณผ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

List list = new ArrayList();์™€ ๊ฐ™์ด ์—…์บ์ŠคํŒ…ํ•˜๋ฉด,
๋‚˜๋จธ์ง€ ์ฝ”๋“œ๋Š” ์ด ๋ฐ์ดํ„ฐ๊ฐ€ Listํ˜•์ด๋ผ๋Š” ๊ฒƒ๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค.

์ฆ‰, ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•œ ๋’ค ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด list์˜ ์ž๋ฃŒํ˜•์ด List์ด๋ฏ€๋กœ ๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ List์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋”ฐ๋ฅด๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ๋”ฐ๋ผ์„œ List์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜• ๊ฐ„์— ์‰ฝ๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๊ฒฐ๋ก  : ๋‚˜์ค‘์— ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด์—์„œ ๋ณ€๊ฒฝํ•˜๊ธฐ ์‰ฝ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

์ถ”๊ฐ€ ) ์ด๋ฅผ ํ™•์žฅํ•˜๋ฉด..

: ๊ฐ์ฒด๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ด ์„ ์–ธํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฟ ์•„๋‹ˆ๋ผ ๋ฆฌํ„ด๊ฐ’, ๋ณ€์ˆ˜, ํ•„๋“œ๋ฅผ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์œผ๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ ํ•ฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๋‹ค๋ฉด, ํด๋ž˜์Šค ๊ณ„์ธต๊ตฌ์กฐ ์ค‘ ๊ฐ€์žฅ ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.