ArrayList

Collections Framework์˜ ArrayList

ArrayList๋Š” Java Core Libraries ๋‚ด์— ์กด์žฌํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ import ๋ฌธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

import java.util.ArrayList;

ArrayList๋Š” Array์œ„์— ๊ตฌ์ถ•๋œ List์˜ ๊ตฌํ˜„ ์ค‘ ํ•˜๋‚˜๋กœ, ์š”์†Œ๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐํ•  ๋•Œ ๋™์ ์œผ๋กœ ํ™•์žฅ ๋ฐ ์ถ•์†Œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค๋กœ ์‰ฝ๊ฒŒ ์—‘์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹œ๊ฐ„ ๋ณต์žก๋„

  • ๋žœ๋ค ์—‘์„ธ์Šค : O(1)

  • ์‚ฝ์ž…/์‚ญ์ œ : O(N)

  • ์š”์†Œ ์ถ”๊ฐ€ : O(1)

  • ๊ฒ€์ƒ‰ :

    • ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ : O(log N)

    • ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ : O(N)

์—ฌ๊ธฐ์„œ "์š”์†Œ์˜ ์ถ”๊ฐ€"๋ž€ ๋ฆฌ์ŠคํŠธ ๋์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•˜๊ณ , "์‚ฝ์ž…"์€ ๋ฆฌ์ŠคํŠธ ๋‚ด์— ํŠน์ • ์ธ๋ฑ์Šค์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค.

ํŠน์ง•

  • ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์ด์šฉํ•œ๋‹ค. ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ๋•Œ ๋ฐฐ์—ด์˜ ๋ณต์‚ฌ๊ฐ€ ๋นˆ๋ฒˆํžˆ ์ผ์–ด๋‚œ๋‹ค.

  • ์—‘์„ธ์Šค ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(1)์ด๋ฏ€๋กœ, ์š”์†Œ์— ์ž์ฃผ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๋ฉด ํšจ์œจ์ด ์ข‹๋‹ค.


์‚ฌ์šฉ๋ฒ•

์„ ์–ธ ์‹œ ์ฃผ๋กœ ์ธ์Šคํ„ด์Šค ํƒ€์ž…์€ List<>๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๋Š”๋ฐ, ์ด๋Š” ํŠน์ • ๊ตฌํ˜„์—์„œ ๋ถ„๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ดˆ๊ธฐ ์˜น๋Ÿ‰์„ 20๊ฐœ ์„ค์ •ํ•œ ๊ฒƒ์€ list์— 20๊ฐœ๋งŒ ์ €์žฅํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์š”์†Œ๋Š” ์ถ”๊ฐ€ํ•  ๋•Œ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์กฐ์ ˆ๋œ๋‹ค. ์ดˆ๊ธฐ ์šฉ๋Ÿ‰์€ ๋ฐฐ์—ด์ด ์–ผ๋งˆ๋‚˜ ํฌ๊ฒŒ ์‹œ์ž‘๋˜๋А์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Last updated