์ปฌ๋ ์ ํ๋ ์์ํฌ๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ๋ค.
๋ฐฐ์ด์ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฑ์ฅํ์ผ๋ฉฐ, Java์์๋ java.util ํจํค์ง์ ํฌํจ๋์ด ์๋ค.
1. ์ปฌ๋ ์ ํ๋ ์์ํฌ ๊ตฌ์กฐ
์ปฌ๋ ์ ์ ํฌ๊ฒ ์ธ ๊ฐ์ง ๊ณ์ด๋ก ๋๋๋ค.
Collection
โโโ List
โโโ Set
Map (Collection๊ณผ ๋ณ๋ ๊ตฌ์กฐ)
- List → ์์ O, ์ค๋ณต O
- Set → ์์ X, ์ค๋ณต X
- Map → Key-Value ๊ตฌ์กฐ
2. List
์์๊ฐ ์๊ณ , ์ค๋ณต์ด ํ์ฉ๋๋ค.
1) ์ฃผ์ ๊ตฌํ์ฒด
| ํด๋์ค | ํน์ง |
| ArrayList | ๋ด๋ถ ๋ฐฐ์ด ๊ธฐ๋ฐ |
| LinkedList | ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ตฌ์กฐ |
| Vector | ๋๊ธฐํ ์ง์(๊ตฌ์) |
2) ArrayList
- ์กฐํ ๋น ๋ฆ(O(1))
- ์ค๊ฐ ์ฝ์ /์ญ์ ๋๋ฆผ
- ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ
List<String> list = new ArrayList<>();
3) LinkedList
- ์ฝ์ /์ญ์ ๋น ๋ฆ
- ์กฐํ๋ ์๋์ ์ผ๋ก ๋๋ฆผ
3. Set
์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค.
1) ์ฃผ์ ๊ตฌํ์ฒด
| ํด๋์ค | ํน์ง |
| HashSet | ํด์ ๊ธฐ๋ฐ |
| LinkedHashSet | ์ ๋ ฅ ์์ ์ ์ง |
| TreeSet | ์ ๋ ฌ ์ ์ง |
2) HashSet
- ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ
- ์์ ๋ณด์ฅ ์ ๋จ
- ๋ด๋ถ์ ์ผ๋ก HashMap ๊ธฐ๋ฐ
3) TreeSet
- ์๋ ์ ๋ ฌ
- Red-Black Tree ๊ธฐ๋ฐ
- ์ฑ๋ฅ O(log n)
4. Map
Key-Value ๊ตฌ์กฐ
key → value
- key๋ ์ค๋ณต ๋ถ๊ฐ
- Value๋ ์ค๋ณต ๊ฐ๋ฅ
1) ์ฃผ์ ๊ตฌํ์ฒด
| ํด๋์ค | ํน์ง |
| HashMap | ํด์ ๊ธฐ๋ฐ |
| LinkedHashMap | ์ ๋ ฅ ์์ ์ ์ง |
| TreeMap | ์ ๋ ฌ ์ ์ง |
2) HashMap
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ Map
Map<String, Integer> map = new HashMap<>();
map.put("A", 10);
map.get("A");
- ํ๊ท ๊ฒ์ O(1)
- ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด + ํด์ + ํธ๋ฆฌ ๊ตฌ์กฐ
5. ๋ด๋ถ ๋์ ์๋ฆฌ ๊ฐ๋จ ์ ๋ฆฌ
1) ArrayList
- ๋ฐฐ์ด ๊ธฐ๋ฐ
- ์ฉ๋ ์ด๊ณผ ์ ๋ฐฐ์ด ๋ณต์ฌ
2) HashSet
- HashMap ๊ธฐ๋ฐ
- hashCode + equals๋ก ์ค๋ณต ํ๋จ
3) HashMap
- hashCode ๊ณ์ฐ
- ๋ฐฐ์ด index ๊ฒฐ์
- equals๋ก ๋์ผ์ฑ ํ๋จ
- ์ถฉ๋ ์ ์ฒด์ด๋ ๋๋ ํธ๋ฆฌ ๊ตฌ์กฐ ์ฌ์ฉ
6. ์ธ์ ๋ฌด์์ ์จ์ผ ํ ๊น?
| ์ํฉ | ์ ํ |
| ์์ ์ค์, ์กฐํ ๋ง์ | ArrayList |
| ์ค๋ณต ์ ๊ฑฐ | HashSet |
| Key-Value ์ ์ฅ | HashMap |
| ์๋ ์ ๋ ฌ ํ์ | TreeSet/TreeMap |
| ์ฝ์ /์ญ์ ๋น๋ฒ | LinkedList |
์ค๋ฌด์์๋
- ๋๋ถ๋ถ ArrayList
- Key-Value๋ ๊ฑฐ์ HashMap
7. ์ธํฐํ์ด์ค ํ์ ์ผ๋ก ์ ์ธํ๋ ์ด์
List<String> list = new ArrayList<>();
์ผ์ชฝ์ ์ธํฐํ์ด์ค, ์ฐ์ธก์ ๊ตฌํ์ฒด ๊ตฌ์กฐ๋ก ์์ฑํ๋ฉด,
- ๊ตฌํ์ฒด ๊ต์ฒด ๊ฐ๋ฅ
- ์ ์ฐ์ฑ ํ๋ณด
- ๋์จํ ๊ฒฐํฉ
'Back-End > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 13. ์์ธ ์ฒ๋ฆฌ(Exception Handling) (0) | 2026.02.12 |
|---|---|
| 12. ๋ด๋ถ ํด๋์ค, ๋๋ค์, ์คํธ๋ฆผ (0) | 2026.02.12 |
| 10. ๊ธฐ๋ณธ ํด๋์ค(Core Class) (0) | 2026.02.12 |
| 09. ์ธํฐํ์ด์ค(Interface) (0) | 2026.02.11 |
| 08. ์ถ์ ํด๋์ค(Abstract Class) (0) | 2026.02.11 |
0