๐ก Collection framework
โ๏ธ Collection framework
: ์ปฌ๋ ์
(๋ค์์ ๊ฐ์ฒด)์ ๋ค๋ฃจ๊ธฐ ์ํ ํ์คํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์
: ์ปฌ๋ ์
์ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ๋ค๋ฃฐ ์ ์๋ ๋ค์ํ ํด๋์ค๋ฅผ ์ ๊ณต (์ ์ฅ, ์ญ์ , ๊ฒ์, ์ ๋ ฌ ๊ธฐ๋ฅ)
: java.util ํจํค์ง์ ํฌํจ
- Collection: ์ฌ๋ฌ ๊ฐ์ฒด(๋ฐ์ดํฐ)๋ฅผ ๋ชจ์ ๋์ ๊ฒ์ ์๋ฏธ
- framework: ํ์คํ, ์ ํํ๋ ์ฒด๊ณ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์
์๋ฐ์์ ์ปฌ๋ ์
ํ๋ ์์ํฌ(collection framework)๋ ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ์คํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ํด๋์ค์ ์งํฉ์ ์๋ฏธํ๋ค.
์ฆ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํํ์ฌ ํด๋์ค๋ก ๊ตฌํํด ๋์ ๊ฒ์ด๋ค.
์ด๋ฌํ ์ปฌ๋ ์
ํ๋ ์์ํฌ๋ ์๋ฐ์ ์ธํฐํ์ด์ค(interface)๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋๋ค.
โ๏ธ Collection class
- ๋ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ํด๋์ค
- Vector / ArrayList / HashSet ...
๐ก Collection ํต์ฌ ์ธํฐํ์ด์ค
โ๏ธ List์ Set์ ๊ณตํต์ ์ธ ๋ถ๋ถ๋ง ๋ฝ์์ Collection์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค์๋ค.
๐ List
- ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ.
- ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ๋ค.
- ๋๊ธฐ์ ๋ช
๋จ
ArrayList, LinkedList, Stack, Vector ...
โ๏ธList ๋ฉ์๋
๐ Set
- ์์๋ฅผ ์ ์งํ์ง ์๋ ๋ฐ์ดํฐ์ ์งํฉ.
- ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค.
- ์์ ์ ์์งํฉ, ์์์ ์งํฉ
HashSet, TreeSet ...
โ๏ธ Set์ธํฐํ์ด์ค ๋ฉ์๋ - Collection์ธํฐํ์ด์ค์ ๋์ผ
โ๏ธ ์งํฉ๊ณผ ๊ด๋ จ๋ ๋ฉ์๋
- (Collection์ ๋ณํ๊ฐ ์์ผ๋ฉด true, ์๋๋ฉด false๋ฅผ ๋ฐํ)
๐ Map
- LinkedHashMap์ ์์๊ฐ ์๋ค.
- ํค(key)์ ๊ฐ(value)์ ์(pair)์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ์ ์งํฉ ์์๋ ์ ์ง๋์ง ์์ผ๋ฉฐ, ํค๋ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ , ๊ฐ์ ์ค๋ณต์ ํ์ฉํ๋ค.
- ์ฐํธ๋ฒํธ, ์ง์ญ๋ฒํธ(์ ํ๋ฒํธ)
HashMap, TreeMap, Hashable, Properties ...
โ๏ธ Map ๋ฉ์๋
๐ก Collection ์ธํฐํ์ด์ค ๋ฉ์๋
โ๏ธ int size()
- Collection์ ์ ์ฅ๋ ๊ฐ์ฒด์ ๊ฐ์๋ฅผ ๋ฐํํ๋ค.
โ๏ธ Object[] toArray()
- Collection์ ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ฒด๋ฐฐ์ด(Object[])๋ก ๋ฐํํ๋ค.
โ๏ธ Object[] toArray(Object a)
- ์ง์ ๋ ๋ฐฐ์ด์ Collection์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํด์ ๋ฐํํ๋ค.
๐ ์ถ๊ฐ
โ๏ธ boolean add(Object o) / boolean addAll(Collection c)
- ์ง์ ๋ ๊ฐ์ฒด(o) ๋๋ Collection(c)์ ๊ฐ์ฒด๋ค์ Collection์ ์ถ๊ฐํ๋ค.
๐ ๊ฒ์
โ๏ธ boolean contains(Object o) / boolean containsAll(Collection c)
- ์ง์ ๋ ๊ฐ์ฒด(o) ๋๋ Collection(c)์ ๊ฐ์ฒด๋ค์ Collection์ ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ค.
โ๏ธ boolean isEmpty()
- Collection์ด ๋น์ด์๋์ง ํ์ธํ๋ค.
โ๏ธ lterator iterator()
- Collection์ lterator๋ฅผ ์ป์ด์ ๋ฐํํ๋ค.
๐ ์ญ์
โ๏ธ void clear()
- Collection์ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ค.
โ๏ธ boolean remove / removeAll()
- ์ง์ ๋ Collection์ ํฌํจ๋ ๊ฐ์ฒด๋ค์ ์ญ์ ํ๋ค.
โ๏ธ boolen retainAll(C)
- ์ง์ ๋ Collection์ ํฌํจ๋ ๊ฐ์ฒด๋ง์ ๋จ๊ธฐ๊ณ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ Collection์์ ์ญ์ ํ๋ค.
- ์ด ์์
์ผ๋ก ์ธํด Collection์ ๋ณํ๊ฐ ์์ผ๋ฉด true๋ฅผ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค.
References
: https://cafe.naver.com/javachobostudy
: https://techvidvan.com/tutorials/java-collection-framework/