[JAVA] Collection


Contents


Collection

Collection์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ ์œ„ํ•œ ์ง‘ํ•ฉ์ด๋‹ค.

Collection Framework : ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ •์˜ํ•ด ๋†“์€ ํด๋ž˜์Šค ์ง‘ํ•ฉ

SetHashSet
TreeSet
๋น„์ˆœ์ฐจ์  ์ €์žฅ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ
MapHashMap
TreeMap
Hashtable
๋น„์ˆœ์ฐจ์  ์ €์žฅ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๊ฐ€๋Šฅ- key, value๋ฅผ ํ•จ๊ป˜ ์ž…๋ คํ•ด์•ผ ํ•œ๋‹ค.
- key๋งŒ ์•Œ๋ฉด value์— ๋ฐ”๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•จ
ListLinkedList
Vector
ArrayList
์ˆœ์ฐจ์  ์ €์žฅ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ๊ฐ€๋Šฅ
  • HASH๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†๋„๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅธ Collection์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.


1. List

  1. ArrayList
    • add(idx, val) : index๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ์ž๋ฆฌ์— ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ์กด์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ๋’ค๋กœ ํ•œ ์นธ์”ฉ ๋ฏธ๋ฃฌ๋‹ค.
    • index๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ๋งจ ๋งˆ์ง€๋ง‰์— ๊ฐ’ ์ถ”๊ฐ€ - set(idx, val) : ํ•ด๋‹น index์˜ ๊ฐ’์„ val๋กœ ๋ฐ”๊พผ๋‹ค.
    • ํ•ด๋‹น index์— ๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด error ๋ฐœ์ƒ(IndexOutOfBoundsException) - remove(index) : ํ•ด๋‹น index์˜ ๊ฐ’์„ ์ œ๊ฑฐํ•œ๋‹ค.
    • ์ œ๊ฑฐํ•  ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•จ - clear() : ArrayList์˜ ๋ชจ๋“  ๊ฐ’์„ ์ œ๊ฑฐํ•œ๋‹ค.(์ดˆ๊ธฐํ™”) - contains(val) : value๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  boolean ํƒ€์ž…์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค. - indexOf(val) : value๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ฐ’์ด ์กด์žฌํ•˜๋Š” index๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

2. Map

key์™€ value๋ฅผ mapping ์‹œ์ผœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ œ๋„ค๋ฆญ(Generic)์€ 2๊ฐœ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. <key ์ž๋ฃŒํ˜•, value ์ž๋ฃŒํ˜•>

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

  • HashMap
  • TreeMap
  • HashTable(์ž์ฒด ์ž๋™ํ™” ์ฒ˜๋ฆฌ ์ ์šฉ)

๋™์ผํ•œ key๋กœ ๊ฐ’์„ ๋„ฃ์œผ๋ฉด value๊ฐ€ ๋Œ€์ฒด๋œ๋‹ค.

key๋งŒ ๋„ฃ๊ณ ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” value์—๋Š” null์„ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

Method

  • elements() : value๋“ค๋งŒ ๋ฌถ์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
  • keys() : key๋“ค๋งŒ ๋ฌถ์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
  • keySet() : Set ์ž๋ฃŒํ˜•์œผ๋กœ key๋“ค์„ ๋ฌถ์–ด์„œ ๋ฐ˜ํ™˜ํ•ด์ค€๋‹ค.
    • ๋ฐ˜ํ™˜ ๊ฐ’์„ Set์œผ๋กœ ๋ฐ›์•„์„œ itertator()๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์‚ฌ์šฉ ๊ฐ€๋Šฅ





ยฉ 2022. by Yejin Ha

Powered by JihyunRyu