컬λ μ
- μμλΌκ³ λΆλ¦¬λ κ°μ²΄ μ½μ /μμ /κ²μ κΈ°λ₯ κ°μΆ κ°λ³ ν¬κΈ°μ 컨ν μ΄λ (λ°°μ΄ λ¨μ 극볡)
- νλ‘κ·Έλλ°μ νμν κΈ°μ΄μ μΈ μλ£κ΅¬μ‘°λ€μ 컬λ μ μΌλ‘ λ§λ€μ΄ μ 곡ν¨
- μ λ€λ¦ κΈ°λ²μΌλ‘ ꡬνλμ΄μλ€.
- java.util ν¨ν€μ§ ⇒ 컬λ μ κ°λ μ μΈν°νμ΄μ€ / ν΄λμ€ μ 곡 Set<E> List<E> Queue<E> Map<K,V> λ±λ±
컬λ μ νΉμ§
- μ λ€λ¦ κΈ°λ²μΌλ‘ ꡬν, μ΄λ¦μ
- νμ 맀κ°λ³μ <E> , <K> νμ ν¬ν¨λ¨ (컬λ μ μμλ₯Ό μΌλ°ν μν¨ νμ ) ⇒ μΌλ°ν μν¨ νμ , μ λ€λ¦ νμ μ΄λΌκ³ λΆλ¦
- 컬λ μ μμλ κ°μ²΄! λ§ κ°λ₯ (κΈ°λ³Ένμ μ½μ μ μλ λ°μ± → Wrappperν΄λμ€ λ³ν)
μ λ€λ¦ (μΌλ°ν)
λͺ¨λ μ’ λ₯μ νμ μ λ€λ£° μ μλλ‘ ν΄λμ€/λ©μλλ₯Ό μΌλ°νλ νμ λ§€κ° λ³μλ₯Ό μ΄μ©νμ¬ μ μΈνλ κΈ°λ²μ΄λ€.
- μ λ€λ¦μ νμ μ μ§μ νλ©΄ , ꡬ체νλ specialized μ€νμ΄ λλ€.
- E : Element
- T : Type
- V : Vaule
- K : Key
- νλμ λλ¬Έμλ‘ μ¬μ©
Vector<E> 컬λ μ
λ°°μ΄μ κ°λ³ν¬κΈ°λ‘ λ€λ£Έ / μ½μ μμ μ΄λ μ¬μ!
Vector<Integer> v = new Vector<Integer>();
- μ©λμ μλ μ‘°μ λ¨ / μ©λ μ§μ λ κ°λ₯
- μ£Όμ λ©μλλ κ²μν΄μ μ°Έκ³ !! add() , get(), elementAt(),size(),capacity, remove(),
컬λ μ - μλ λ°μ±/μΈλ°μ±
v.add(4) → Integer(4) // μλλ°μ±
int k = v.get(0) // μλ μΈλ°μ±
ArrayList<E> 컬λ μ
κ°λ³ ν¬κΈ°μ λ°°μ΄μ ꡬνν 컬λ μ μΈλ±μ€λ‘ μμμ μ κ·Ό νλλ‘ μ§μν¨
(벑ν°μ μ°¨μ΄μ : μ€λ λ κ° λκΈ°ν μ§μ X → λ€μ μ€λ λ μ½μ /μμ μΆ©λ μν → λ©ν° μ€λ λ λκΈ°ν μ§μ ꡬνν΄μΌλ¨)
- μ£Όμ λ©μλλ κ²μν΄μ μ°Έκ³ ! add(), clear, …
μμ°¨ κ²μ lterator
μμ°¨μ μΌλ‘ μμλ₯Ό κ²μ ν λ → Iterator<E> μΈν°νμ΄μ€ → Iterator() λ©μλ
μΈλ±μ€κ° μλ κ²λ€μ Iterator μ¬μ©νλ©΄ μ μ© → Set, LinkedList
- hasNext(), next(), remover() λ©μλ
- iterator κ°μ²΄ = λ°λ³΅μλΌκ³ λΆλ¦
Iterator<Integer> it = v.iterator();
while(it.hasNext()){
int n = it.netx();
...
}
HashMap<K,V> 컬λ μ
ν€μ κ°μΌλ‘ ꡬμ±λλ μμ (μμ μμ, μμΉ μ€μνμ§ μμ μμ©μ μ¬μ©)
μ½μ μμ μλ λμ / μΈλ±μ€κ° μμ(ν€κ° νμλ‘ μμμΌν¨) /
- put(), get() μΌλ‘ μ½μ , κ²μ νλ€.
- ν΄μ ν¨μ hash function : μμΉλ₯Ό μ ν΄μ€ (λλ€)
- clear(), get(), keyset(), put() λ±λ± λ©μλ