Collection

Collection์ด๋ž€?

  • List, Map, Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—ฌ๋Ÿฌ ๊ตฌํ˜„์ฒด๊ฐ€ ์กด์žฌ

  • ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

    • ๋‹ค์ˆ˜์˜ Data ๋ฅผ ๋‹ค๋ฃจ๋Š”๋ฐ ํ‘œ์ค€ํ™”๋œ ํด๋ž˜์Šค๋“ค์„ ์ œ๊ณตํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— DataStructure ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ

    • ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฐ์ฒด๋ฅผ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ฐ์ฒด์˜ ์ˆ˜๋ฅผ ๋™์ ์œผ๋กœ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค

      • ํ”„๋กœ๊ทธ๋žจ์˜ ๊ณต๊ฐ„์  ํšจ์œจ์„ฑ ๋˜ํ•œ ๋†’์—ฌ์ค€๋‹ค

Collection์˜ ์ข…๋ฅ˜

List

  • List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง์ ‘ @Override๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๋Œ€ํ‘œ์ ์ธ ๊ตฌํ˜„์ฒด๋กœ๋Š” ArrayList๊ฐ€ ์กด์žฌํ•œ๋‹ค.

    • ์ด๋Š” ๊ธฐ์กด์— ์žˆ์—ˆ๋˜ Vector๋ฅผ ๊ฐœ์„ ํ•œ ๊ฒƒ์ด๋‹ค

  • LinkedList

    • ๊ฐ node๊ฐ€ ๋ฐ์ดํ„ฐ์™€ ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ ์ค„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

    • ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” node๋“ค์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”๋ฐ, node์˜ ํฌ์ธํ„ฐ๊ฐ€ ๋‹ค์Œ์ด๋‚˜ ์ด์ „ node์™€์˜ ์—ฐ๊ฒฐ์„ ๋‹ด๋‹นํ•œ๋‹ค

    • ์žฅ์ 

      • ๋Š˜์–ด์„  node์˜ ์ค‘๊ฐ„์ง€์ ์—์„œ๋„ ์ž๋ฃŒ์˜ ์ถ”๊ฐ€/์‚ญ์ œ๊ฐ€ O(1)์˜ ์‹œ๊ฐ„์— ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ–๋Š”๋‹ค

    • ๋‹จ์ 

      • ๋ฐฐ์—ด์ด๋‚˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ํŠน์ • ์œ„์น˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š”๋ฐ๋Š” O(n) ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค

Map

  • ๋Œ€ํ‘œ์ ์ธ ๊ตฌํ˜„์ฒด๋กœ HashMap์ด ์กด์žฌํ•œ๋‹ค

  • key-value ์˜ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ Map ์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ์€ DataStructure ๋ถ€๋ถ„์˜ hashtable ๊ณผ ์ผ์น˜ํ•œ๋‹ค

  • key ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ค‘๋ณต๋œ ๊ฐ’์„ ์ €์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค

  • key ์— ๋Œ€ํ•ด์„œ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” LinkedHashMap์„ ์‚ฌ์šฉํ•œ๋‹ค

Set

  • ๋Œ€ํ‘œ์ ์ธ ๊ตฌํ˜„์ฒด๋กœ HashSet์ด ์กด์žฌํ•œ๋‹ค.

  • value์— ๋Œ€ํ•ด์„œ ์ค‘๋ณต๋œ ๊ฐ’์„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค

  • ์‚ฌ์‹ค Set ์ž๋ฃŒ๊ตฌ์กฐ๋Š” Map ์˜ key-value ๊ตฌ์กฐ์—์„œ key ๋Œ€์‹ ์— value ๊ฐ€ ๋“ค์–ด๊ฐ€ value ๋ฅผ key ๋กœ ํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ผ ๋ฟ์ด๋‹ค

  • ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” LinkedHashSet์„ ์‚ฌ์šฉํ•œ๋‹ค

Last updated