๐˜พ๐™ค๐™ก๐™ก๐™š๐™˜๐™ฉ๐™ž๐™ค๐™ฃ ๐™๐™ง๐™–๐™ข๐™š๐™ฌ๐™ค๐™ง๐™ 

uuuouuoยท2022๋…„ 7์›” 18์ผ
0
post-thumbnail

๐Ÿ“– ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋…


  • ์ž๋ฐ”์—์„œ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(collection framework)๋ž€ ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ‘œ์ค€ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ํด๋ž˜์Šค์˜ ์ง‘ํ•ฉ
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ํด๋ž˜์Šค๋กœ ๊ตฌํ˜„ํ•ด ๋†“์€ ๊ฒƒ
  • ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ž๋ฐ”์˜ ์ธํ„ฐํŽ˜์ด์Šค(interface)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„


๐Ÿ’ฌ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค


1. List

2. Set

3. Map

  • List์™€ Set ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ชจ๋‘ Collection ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์ง€๋งŒ, ๊ตฌ์กฐ์ƒ์˜ ์ฐจ์ด๋กœ ์ธํ•ด Map ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ณ„๋„๋กœ ์ •์˜
  • List ์ธํ„ฐํŽ˜์ด์Šค์™€ Set ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ Collection ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ •์˜

โ—พ Collection ์ธํ„ฐํŽ˜์ด์Šค

  • List์™€ Set ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋งŽ์€ ๊ณตํ†ต๋œ ๋ถ€๋ถ„์„ Collection ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ •์˜, ๋‘ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ทธ๊ฒƒ์„ ์ƒ์†๋ฐ›์Œ
  • ๋”ฐ๋ผ์„œ Collection ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃจ๋Š”๋ฐ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘๋“ค์„ ์ •์˜ํ•˜๊ณ , ๊ทธ๊ฒƒ์„ ๋ฉ”์†Œ๋“œ๋กœ ์ œ๊ณต
  • Collection ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ๋ฉ”์†Œ๋“œ
๋ฉ”์†Œ๋“œ์„ค๋ช…
boolean add(E e)ํ•ด๋‹น ์ปฌ๋ ‰์…˜(collection)์— ์ „๋‹ฌ๋œ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ (์„ ํƒ์  ๊ธฐ๋Šฅ)
void clear()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์ œ๊ฑฐย (์„ ํƒ์  ๊ธฐ๋Šฅ)
boolean contains(Object o)ํ•ด๋‹น ์ปฌ๋ ‰์…˜์ด ์ „๋‹ฌ๋œ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธ
boolean equals(Object o)ํ•ด๋‹น ์ปฌ๋ ‰์…˜๊ณผ ์ „๋‹ฌ๋œ ๊ฐ์ฒด๊ฐ€ ๊ฐ™์€์ง€๋ฅผ ํ™•์ธ
boolean isEmpty()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์ด ๋น„์–ด์žˆ๋Š”์ง€๋ฅผ ํ™•์ธ
Iterator iterator()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ๋ฐ˜๋ณต์ž(iterator)๋ฅผ ๋ฐ˜ํ™˜
boolean remove(Object o)ํ•ด๋‹น ์ปฌ๋ ‰์…˜์—์„œ ์ „๋‹ฌ๋œ ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐ (์„ ํƒ์  ๊ธฐ๋Šฅ)
int size()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ์˜ ์ด ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
Object[] toArray()ํ•ด๋‹น ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ Object ํƒ€์ž…์˜ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜

โ—พ ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค ๊ฐ„์˜ ์ƒ์† ๊ด€๊ณ„

  • ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๊ฐ€ ์ œ๋„ค๋ฆญ์œผ๋กœ ํ‘œํ˜„๋˜์–ด ์žˆ์Œ

โ—พ ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ฐ„๋žตํ•œ ํŠน์ง•

์ธํ„ฐํŽ˜์ด์Šค์„ค๋ช…๊ตฌํ˜„ ํด๋ž˜์Šค
List์ˆœ์„œ O, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต OVector, ArrayList, LinkedList, Stack, Queue
Set์ˆœ์„œ X, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต XHashSet, TreeSet
Map<K, V>ํ‚ค์™€ ๊ฐ’์˜ ํ•œ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ, ์ˆœ์„œ X, ํ‚ค๋Š” ์ค‘๋ณต X, ๊ฐ’ ์ค‘๋ณต OHashMap, TreeMap, Hashtable, Properties


๐Ÿ’ฌ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ฃผ์š” ํด๋ž˜์Šค


List

  • ArrayList
  • Vector
  • LinkedList

Set

  • HashSet
  • TreeSet

Map

  • HashMap
  • HashTable
  • TreeMap

  • ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ชจ๋“  ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋Š” List์™€ Set, Map ์ธํ„ฐํŽ˜์ด์Šค ์ค‘ ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„
  • Vector๋‚˜ Hashtable๊ณผ ๊ฐ™์€ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋Š” ์˜ˆ์ „๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด ์™”์œผ๋ฏ€๋กœ, ๊ธฐ์กด ์ฝ”๋“œ์™€์˜ ํ˜ธํ™˜์„ ์œ„ํ•ด ์•„์ง๋„ ๋‚จ์•„ ์žˆ์Œ
  • ํ•˜์ง€๋งŒ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ArrayList๋‚˜ HashMap ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ ๋ฉด์—์„œ๋„ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ


๐Ÿ’ฌ ์ƒ์„ธํ•œ ํด๋ž˜์Šค์™€ ๊ตฌํ˜„ ์ธํ„ฐํŽ˜์ด์Šค




๐Ÿ’ฌ ์ž๋ฃŒ๊ตฌ์กฐ๋ณ„ ๋Œ€๋žต์ ์ธ ํŠน์ง•


ClassBase ClassBase Interface์ค‘๋ณต์ˆœ์„œ์ •๋ ฌThread-safe
ArrayListAbstractListListYesYesNoNo
LinkedListAbstractSequentialListList;DequeYesYesNoNo
VectorAbstractListListYesYesNoYes
HashSetAbstractSetSetNoNoNoNo
LinkedHashSetHashSetSetNoYesNoNo
TreeSetAbstractSetSet;NavigableSet;SortedSetNoYesYesNo
HashMapAbstractMapMapNoNoNoNo
LinkedHashMapHashMapMapNoYesNoNo
HashtableDictionaryMapNoNoNoYes
TreeMapAbstractMapMap;NavigableMap;SortedMapNoYesYesNo

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