โšก Java.util.Collection

sonjh919ยท2023๋…„ 10์›” 20์ผ
0

Java API

๋ชฉ๋ก ๋ณด๊ธฐ
15/16
post-thumbnail

๐Ÿ“Œ Java.util.Collection

  • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด ๋ฏธ๋ฆฌ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ํŒจํ‚ค์ง€
  • ๋ฐฐ์—ด์ด ๊ฐ€์ง„ ๊ณ ์ • ํฌ๊ธฐ์˜ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด๋“ค์„ ์‰ฝ๊ฒŒ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋ณ€ ํฌ๊ธฐ์˜ ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค.
  • ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋กœ๋Š” ๊ฐ์ฒด๋งŒ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ธฐ๋ณธ ํƒ€์ž…์˜ ๊ฐ’์ด ๋“ค์–ด์˜ค๋ฉด auto boxing์— ์˜ํ•ด Wrapper ํด๋ž˜์Šค๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
  • ์ œ๋„ค๋ฆญ ๊ธฐ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค.

๐ŸŒˆ Collection์˜ ๊ตฌ์กฐ

๐ŸŒˆ List

  • ๋ฆฌ์ŠคํŠธ(List)๋Š” ๋ฐฐ์—ด๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ํ›จ์”ฌ ํŽธ๋ฆฌํ•œ ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋ฐฐ์—ด์€ ํฌ๊ธฐ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€๋งŒ ๋ฆฌ์ŠคํŠธ๋Š” ๋ณ€ํ•œ๋‹ค๋Š” ๋ฐ ์žˆ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ ์ž๋ฃŒํ˜•์—๋Š” ArrayList, Vector, LinkedList ๋“ฑ์ด ์žˆ๋‹ค.

๐ŸŒˆ Map

  • ๋งต(Map) ์€ ๋Œ€์‘ ๊ด€๊ณ„๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ ์š”์†Œ๊ฐ’์„ ๊ตฌํ•˜์ง€ ์•Š๊ณ  ํ‚ค(key)๋ฅผ ์ด์šฉํ•ด ๊ฐ’(value)๋ฅผ ์–ป๋Š”๋‹ค.
  • ์‚ฌ์ „(dictionary)์™€ ๋น„์Šทํ•˜๋‹ค.
  • HashMap, LinkedHashMap, TreeMap ๋“ฑ์ด ์žˆ๋‹ค.

๐Ÿ’ก HashMap, LinkedHashMap, TreeMap
HashMap : ์ˆœ์„œ์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  key๋กœ value๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
LinkedHashMap : ์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
TreeMap : ์ž…๋ ฅ๋œ key์˜ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.

๐ŸŒˆ Set

  • ์ง‘ํ•ฉ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ๋“ค์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ž๋ฃŒํ˜•์ด๋‹ค.
  • ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.(unordered)
  • HashSet, TreeSet, LinkedHashSet ๋“ฑ์ด ์žˆ๋‹ค.

๐Ÿ’ก HashSet, LinkedHashSet, TreeSet
HashSet : ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.
LinkedHashMap : ๊ฐ’์„ ์ž…๋ ฅํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•œ๋‹ค.
TreeMap : ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ์ €์žฅํ•œ๋‹ค.


๐Ÿ“Œ Array vs ArrayList

ArrayArrayList
๊ธธ์ด๊ณ ์ • ๊ธธ์ด๊ฐ€๋ณ€ ๊ธธ์ด
๋ฉ”๋ชจ๋ฆฌ์œ ์ง€์ถ”๊ฐ€์‹œ ์žฌํ• ๋‹น
์ œ๋„ค๋ฆญxO

์ œ์ผ ํฐ ์ฐจ์ด์ ์€ Array๋Š” ๊ณ ์ • ๊ธธ์ด์ด๊ณ , ArrayList๋Š” ๊ฐ€๋ณ€ ๊ธธ์ด์ด๋‹ค. ๊ทธ๋ž˜์„œ ์‹ค์ œ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ArrayList๊ฐ€ ํ›จ์”ฌ ๊ฐ„ํŽธํ•˜๋‹ค. ๋˜ํ•œ ArrayList๋Š” ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ž… ์•ˆ์ •์„ฑ์ด ๋”์šฑ ์˜ฌ๋ผ๊ฐ€๊ณ  ์ฝ”๋“œ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ๋” ์‰ฝ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์—์„œ ๋ดค์„ ๋•Œ ArrayList๋Š” ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žฌํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— Array๊ฐ€ ์ข€ ๋” ํšจ์œจ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์•ž์˜ ๋‘ ๊ฐ€์ง€ ์ด์œ  ๋•Œ๋ฌธ์— ArrayList๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋งž๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค.

๐Ÿ“Œ Vector vs ArrayList

Vector์™€ ArrayList๋Š” ๊ฐ€๋ณ€ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋กœ ๊ฑฐ์˜ ๋น„์Šทํ•˜๋‹ค. ํฌ๊ฒŒ ๋‹ค๋ฅธ ์ ์€ ArrayList๋Š” ์Šค๋ ˆ๋“œ ๊ฐ„์— ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค์ˆ˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ•  ๋•Œ ArrayList์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ›ผ์†๋  ์šฐ๋ ค๊ฐ€ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ Vector๋Š” ํ˜ธํ™˜์„ฑ ๋•Œ๋ฌธ์— ๋‚จ๊ฒจ๋‘” ๊ฒƒ์ด๊ณ  ArrayList๊ฐ€ ๊ฐœ์„ ๋œ ๋ฒ„์ „์ด๊ธฐ ๋•Œ๋ฌธ์— ์›ฌ๋งŒํ•ด์„œ๋Š” ArrayList ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•œ๋‹ค.

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 10์›” 21์ผ

https://cheddar-liquid-051.notion.site/1-a879434f1980410694377b9500b6c9a1?pvs=4
ํ”ผ๋“œ๋ฐฑ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ