ν°μ€ν 리 λ·°
[Java] 컬λ μ νλ μμν¬(Collection Framework) - λ€μμ λ°μ΄ν°λ₯Ό μ½κ³ ν¨κ³Όμ μΌλ‘ μ²λ¦¬νμ
doeunnkimm 2023. 2. 13. 17:11π 컬λ μ νλ μμν¬ ?
μλ°μμ 컬λ μ νλ μμν¬(collection framwork)λ λ€μμ λ°μ΄ν°λ₯Ό μ½κ³ ν¨κ³Όμ μΌλ‘ μ²λ¦¬ν μ μλ νμ€νλ λ°©λ²μ μ 곡νλ ν΄λμ€μ μ§ν©μ μλ―Έν©λλ€.
μ¦, λ°μ΄ν°λ₯Ό μ μ₯νλ μλ£ κ΅¬μ‘°μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ μκ³ λ¦¬μ¦μ ꡬ쑰ννμ¬ ν΄λμ€λ‘ ꡬνν΄ λμ κ²μ λλ€.
μ΄λ¬ν 컬λ μ νλ μμν¬λ μλ°μ μΈν°νμ΄μ€(interface)λ₯Ό μ¬μ©νμ¬ κ΅¬νλ©λλ€.
π 컬λ μ νλ μμν¬ μ£Όμ μΈν°νμ΄μ€
컬λ μ νλ μμν¬μμλ λ°μ΄ν°λ₯Ό μ μ₯νλ μλ£ κ΅¬μ‘°μ λ°λΌ λ€μκ³Ό κ°μ ν΅μ¬μ΄ λλ μ£Όμ μΈν°νμ΄μ€λ₯Ό μ μνκ³ μμ΅λλ€.
1. List μΈν°νμ΄μ€
2. Set μΈν°νμ΄μ€
3. Map μΈν°νμ΄μ€
μ΄μ€μμ Listμ Set μΈν°νμ΄μ€λ λͺ¨λ Collection μΈν°νμ΄μ€λ₯Ό μμλ°μ§λ§, ꡬ쑰μμ μ°¨μ΄λ‘ μΈν΄ Map μΈν°νμ΄μ€λ λ³λλ‘ μ μλ©λλ€.
λ°λΌμ List μΈν°νμ΄μ€μ Set μΈν°νμ΄μ€μ 곡ν΅λ λΆλΆμ Collection μΈν°νμ΄μ€μμ μ μνκ³ μμ΅λλ€.
→ π‘ List 컬λ μ ν΄λμ€μ Set 컬λ μ ν΄λμ€λ Collection μΈν°νμ΄μ€λ₯Ό μμλ°μ μ μλ©λλ€.
μλ°μμ 컬λ μ νλ μμν¬λ₯Ό ꡬμ±νκ³ μλ μ£Όμ μΈν°νμ΄μ€μ κ°λ΅ν νΉμ§μ λ€μκ³Ό κ°μ΅λλ€.
μΈν°νμ΄μ€ | μ€λͺ | ꡬν ν΄λμ€ |
List<E> | μμκ° μλ λ°μ΄ν°μ μ§ν©μΌλ‘, λ°μ΄ν°μ μ€λ³΅μ νμ©ν¨. | Vector, ArrayList, LinkedList, Stack, Queue |
Set<E> | μμκ° μλ λ°μ΄ν°μ μ§ν©μΌλ‘, λ°μ΄ν°μ μ€λ³΅μ νμ©νμ§ μμ | HashSet, TreeSet |
Map<K, V> | ν€μ κ°μ ν μμΌλ‘ μ΄λ£¨μ΄μ§λ λ°μ΄ν°μ μ§ν©μΌλ‘, μμκ° μμ. μ΄λ ν€λ μ€λ³΅μ νμ©νμ§ μμ§λ§, κ°μ μ€λ³΅λ μ μμ |
HashMap, TreeMap, Hashtable, properties |
π μ£Όμ μΈν°νμ΄μ€ κ°μ μμ κ΄κ³
μλ°μμ 컬λ μ νλ μμν¬λ₯Ό ꡬμ±νκ³ μλ μΈν°νμ΄μ€ κ°μ μμ κ΄κ³λ λ€μ κ·Έλ¦Όκ³Ό κ°μ΅λλ€.
μμ κ·Έλ¦Όμμ <E>λ <K, V>λΌλ κ²μ 컬λ μ νλ μμν¬λ₯Ό ꡬμ±νλ λͺ¨λ ν΄λμ€κ° μ λ€λ¦μΌλ‘ ννλμ΄ μμμ μλ €μ€λλ€.
π 컬λ μ ν΄λμ€(collection class)
컬λ μ νλ μμν¬μ μνλ μΈν°νμ΄μ€λ₯Ό ꡬνν ν΄λμ€λ₯Ό 컬λ μ ν΄λμ€(collection class)λΌκ³ ν©λλ€.
컬λ μ νλ μμν¬μ λͺ¨λ 컬λ μ ν΄λμ€λ Listμ Set, Map μΈν°νμ΄μ€ μ€ νλμ μΈν°νμ΄μ€λ₯Ό ꡬννκ³ μμ΅λλ€.
λν, ν΄λμ€ μ΄λ¦μλ ꡬνν μΈν°νμ΄μ€μ μ΄λ¦μ΄ ν¬ν¨λλ―λ‘ λ°λ‘ ꡬλΆν μ μμ΅λλ€.
Vectorλ Hashtableκ³Ό κ°μ 컬λ μ ν΄λμ€λ μμ λΆν° μ¬μ©ν΄ μμΌλ―λ‘, κΈ°μ‘΄ μ½λμμ νΈνμ μν΄ μμ§λ λ¨μ μμ΅λλ€.
νμ§λ§ κΈ°μ‘΄μ μ¬μ©νλ 컬λ μ ν΄λμ€λ₯Ό μ¬μ©νλ κ²λ³΄λ€λ μλ‘ μΆκ°λ ArrayListλ HashMap ν΄λμ€λ₯Ό μ¬μ©νλ κ²μ΄ μ±λ₯ λ©΄μμλ λ λμ κ²°κ³Όλ₯Ό μ»μ μ μμ΅λλ€.
β ArrayList
ArrayListλ μΈλ±μ€λ‘ λ°μ΄ν°λ₯Ό κ΄λ¦¬ν©λλ€.
컬λ μ ν΄λ μ€ μ€ μ€λ¬΄μμ κ°μ₯ λ§μ΄ μ¬μ©λλ ν΄λμ€μ λλ€.
λ°°μ΄μ νΉμ§μΈ μΈλ±μ€λ₯Ό μ΄μ©νμ¬ κ°μ μ μ₯νκ³ κ΄λ¦¬νκ² λλλ°
λ°°μ΄κ³Ό κ°μ₯ ν° μ°¨μ΄μ μ κΈΈμ΄λ₯Ό μ ννμ§ μκ³ μ¬μ©νλ€λ μ μ λλ€.
→ λ°°μ΄μ κΈΈμ΄μ μ νμ λμ΄μΌ ν λ μμ£Ό μ¬μ©
→ ArrayListλ λͺ κ°μ λ°μ΄ν°κ° λ€μ΄μ¬μ§ μ μ μμ λ μ¬μ©
λ€μ μ½λλ ArrayList ν΄λμ€λ₯Ό μ΄μ©νμ¬ λ¦¬μ€νΈλ₯Ό μμ±νκ³ μ‘°μνλ μμ μ λλ€.
import java.util.*;
public class Collection01 {
public static void main(String[] args) {
// 리μ€νΈ μμ±
ArrayList<String> arrList = new ArrayList<String>();
// 리μ€νΈμ μμμ μ μ₯
arrList.add("λ·");
arrList.add("λ");
arrList.add("μ
");
arrList.add("νλ");
// 리μ€νΈ μμμ μΆλ ₯
for(int i=0; i<arrList.size(); i++) {
System.out.println(arrList.get(i));
}
}
}
μμμ ArrayListλ 컬λ μ ν΄λμ€λΌκ³ νκΈ° λλ¬Έμ μ°λ¦¬κ° ν΄λμ€μ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό λ³μμ ν λΉνλ―μ΄ μ μΈν΄μ μ¬μ©νλ©΄ λ©λλ€.
μ μ½λμμλ addλΌλ λ©μλλ₯Ό ν΅ν΄ μμλ₯Ό λ£μ΄μ£Όκ³ μμ΅λλ€.
μΆκ°μ μΌλ‘ λ°°μ΄μμλ λ°°μ΄μ κΈΈμ΄λ₯Ό length λ©μλλ₯Ό ν΅ν΄ μ μ μμμ§λ§,
ArrayListμμλ size λ©μλλ₯Ό ν΅ν΄ κΈΈμ΄λ₯Ό μ μ μμ΅λλ€.
π Collection μΈν°νμ΄μ€
Listμ Set μΈν°νμ΄μ€μ λ§μ 곡ν΅λ λΆλΆμ Collection μΈν°νμ΄μ€μμ μ μνκ³ , λ μΈν°νμ΄μ€λ κ·Έκ²μ μμλ°μ΅λλ€.
λ°λΌμ Collection μΈν°νμ΄μ€λ 컬λ μ μ λ€λ£¨λλ° κ°μ₯ κΈ°λ³Έμ μΈ λμλ€μ μ μνκ³ , κ·Έκ²μ λ©μλλ‘ μ 곡νκ³ μμ΅λλ€.
ArrayList ν΄λμ€λ‘ λ³μλ₯Ό μ μΈνκ³ λ°λ‘ addλ get κ³Ό κ°μ λ©μλλ₯Ό μ¬μ©ν μ μλ μ΄μ λ
ArrayListλ Collection μΈν°νμ΄μ€λ₯Ό μμλ°μ List μΈν°νμ΄μ€λ₯Ό μμλ°μ ꡬνμ ν΄λμκΈ° λλ¬Έμ λλ€.
Collection μΈν°νμ΄μ€μμ μ 곡νλ μ£Όμ λ©μλλ λ€μκ³Ό κ°μ΅λλ€.
λ©μλ | μ€λͺ |
boolean add(E e) | ν΄λΉ 컬λ μ (collection)μ μ λ¬λ μμλ₯Ό μΆκ°ν¨.(μ νμ κ°λ₯) |
void clear() | ν΄λΉ 컬λ μ μ λͺ¨λ μμλ₯Ό μ κ±°ν¨.(μ νμ κ°λ₯) |
boolean contains(Object o) | ν΄λΉ 컬λ μ μ΄ μ λ¬λ κ°μ²΄λ₯Ό ν¬ν¨νκ³ μλμ§λ₯Ό νμΈν¨. |
boolean equals(Object o) | ν΄λΉ 컬λ μ κ³Ό μ λ¬λ κ°μ²΄κ° κ°μμ§λ₯Ό νμΈν¨. |
boolean isEmpty() | ν΄λΉ 컬λ μ μ΄ λΉμ΄μλμ§λ₯Ό νμΈν¨. |
Iterator<E> iterator() | ν΄λΉ 컬λ μ μ λ°λ³΅μ(iterator)λ₯Ό λ°νν¨. |
boolean remove(Object e) | ν΄λΉ 컬λ μ μμ μ λ¬λ κ°μ²΄λ₯Ό μ κ±°ν¨. (μ νμ κΈ°λ₯) |
int size() | ν΄λΉ 컬λ μ μ μμμ μ΄ κ°μλ₯Ό λ°νν¨. |
Object[] toArray() | ν΄λΉ 컬λ μ μ λͺ¨λ μμλ₯Ό Object νμ μ λ°°μ΄λ‘ λ°νν¨. |
'λ°±μλ > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μλ°μ Stream (0) | 2023.02.15 |
---|---|
[Java] μλ°μ List 컬λ μ ν΄λμ€ (0) | 2023.02.14 |
[Java] μλ°μ Wrapper ν΄λμ€μ λν΄ μμ보μ (0) | 2023.02.09 |
[Java] μλ°μ Object ν΄λμ€μ λν΄ μμ보μ (0) | 2023.02.09 |
[Java] APIλ? μλ°μμ API(.jar) λ°°ν¬ | λΉλνλ λ°©λ² (0) | 2023.02.09 |
- Total
- Today
- Yesterday
- jest
- testing
- νλ‘μ νΈ νκ³
- νλ‘ νΈμλ 곡λΆ
- νλ‘ νΈμλ
- JSP
- frontend
- νμ΄μ¬
- rtl
- νμ μ€ν¬λ¦½νΈ
- 리μ‘νΈ
- 리μ‘νΈ ν
- νλ‘ νΈμλ κΈ°μ΄
- TypeScript
- react
- Python
- μΈνλ°
- λνλ§
- λ°μ΄ν°λΆμ
- μ€νμΌ μ»΄ν¬λνΈ styled-components
- HTML
- react-query
- μλ°μ€ν¬λ¦½νΈ
- μλ°μ€ν¬λ¦½νΈ κΈ°μ΄
- μλ°
- λ₯λ¬λ
- λ¨Έμ λ¬λ
- next.js
- styled-components
- CSS
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |