๐Ÿ“– [Java] ๐Ÿ’ป What is Collection?

๐Ÿ’ป Java Collection

์•ˆ๋…•ํ•˜์„ธ์š”. ๐Ÿ‘‹

์˜ค๋Š˜์€ ์ž๋ฐ”์˜ Collection ์— ๋Œ€ํ•ด์„œ

์•Œ์•„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

What is Collection? (Collection์ด๋ž€?)

์ž๋ฐ” Collection ์ด๋ž€
์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ, ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JCF(Java Collections Framework)๋Š” ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ, ์ž๋ฃŒ๊ตฌ์กฐ์ธ Collection๊ณผ
์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Collection ์˜ ์ข…๋ฅ˜

collection

Collection ์€ List, Set , Queue ๋กœ ํฌ๊ฒŒ 3๊ฐ€์ง€ ์ƒ์œ„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Map์˜ ๊ฒฝ์šฐ์—๋Š” Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ์ง€๋Š” ์•Š์ง€๋งŒ Collection์œผ๋กœ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.

1.List

List๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ArrayList

    ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์กฐํšŒ ๊ธฐ๋Šฅ์— ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.

  • LinkedList

    ์–‘๋ฐฉํ–ฅ ํฌ์ธํ„ฐ ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…, ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜์ •๋ณด๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๊ธฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์Šคํƒ, ํ, ๋ฑ๋“ฑ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์“ฐ์ž…๋‹ˆ๋‹ค

  • Vector

    ๊ณผ๊ฑฐ์— ๋Œ€์šฉ๋Ÿ‰ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ๋‚ด๋ถ€์—์„œ ์ž๋™์œผ๋กœ ๋™๊ธฐํ™”์ฒ˜๋ฆฌ๊ฐ€ ์ผ์–ด๋‚˜ ๋น„๊ต์  ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š๊ณ  ๋ฌด๊ฑฐ์›Œ ์ž˜ ์“ฐ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2.Set

Set์€ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • HashSet

    ๊ฐ€์žฅ ๋น ๋ฅธ ์ž„์˜ ์ ‘๊ทผ ์†๋„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

    ์ˆœ์„œ๋ฅผ ์ „ํ˜€ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  • TreeSet

    ์ •๋ ฌ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • LinkedHashSet

    Set์„ ์ˆœ์„œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.Queue

List์™€ ์œ ์‚ฌํ•˜๊ณ  FIFO (First In First Out) ์„ ์ž…์„ ์ถœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.
์ฃผ๋กœ LinkedList๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

4.map

ํ‚ค(Key), ๊ฐ’(Value) ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์œผ๋กœ
์ˆœ์„œ๊ฐ€ ์—†์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ’(value)๋Š” ์ค‘๋ณต์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ
ํ‚ค(Key)๋Š” ์ค‘๋ณต์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • Hashtable

    HashMap ๋ณด๋‹ค๋Š” ๋Š๋ฆฌ์ง€๋งŒ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•ด์ค๋‹ˆ๋‹ค.

    null ๊ฐ’ ๋ถˆ๊ฐ€

  • HashMap

    ์ค‘๋ณต๊ณผ ์ˆœ์„œ๊ฐ€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ null๊ฐ’์ด ์˜ฌ ์ˆ˜ ์žˆ์”๋‹ˆ๋‹ค.

  • TreeMap

    ์ •๋ ฌ๋œ ์ˆœ์„œ๋Œ€๋กœ ํ‚ค(Key)์™€ ๊ฐ’(Value)๋ฅผ ์ €์žฅํ•ด ๊ฒ€์ƒ‰์ด ๋น ๋ฆ…๋‹ˆ๋‹ค.

๋

๊ฐ„๋‹จํ•˜๊ฒŒ Java์˜ Collection์— ๋Œ€ํ•ด 
์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ™

Reference

https://gangnam-americano.tistory.com/41

Written on May 16, 2020