๐ [Java] ๐ป What is Collection?
๐ป Java Collection
์๋
ํ์ธ์. ๐
์ค๋์ ์๋ฐ์ Collection ์ ๋ํด์
์์๋ณด๋ ค๊ณ ํฉ๋๋ค.
What is Collection? (Collection์ด๋?)
์๋ฐ Collection ์ด๋
์ฌ๋ฌ ๋ฐ์ดํฐ, ์๋ฃ๊ตฌ์กฐ์ ์งํฉ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
JCF(Java Collections Framework)๋ ์ด๋ฌํ ๋ฐ์ดํฐ, ์๋ฃ๊ตฌ์กฐ์ธ 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