πΏ μ΄κ±°ν(Enum)
πΏ μ λ€λ¦(Generic)
πΏ μμΈ(Exception) μ²λ¦¬(Handling)
πΏ Collection Framework
- μ΄κ±°νμ μ¬μ©νλ μ΄μ λ₯Ό μ€λͺ ν μ μλ€.
- μ΄κ±°νμ μ μνκ³ μ¬μ©ν μ μλ€.
βοΈ
//
β
- μ λ€λ¦μ μ¬μ©νλ μ΄μ λ₯Ό μ€λͺ ν μ μλ€.
- νμ λ§€κ°λ³μλ₯Ό μ μΈνμ¬ μ λ€λ¦ ν΄λμ€ λ΄μμ νμ λ§€κ°λ³μλ₯Ό μ¬μ©ν μ μλ€.
- νμ μ μ§μ ν λ μ νμ λΆκ³Όν μ μλ€.
- μ λ€λ¦ λ©μλλ₯Ό μ μνμ¬ μ¬μ©ν μ μλ€.
- μμΌλμΉ΄λμ μν μ νκ³Ό νν μ νμ μ€λͺ ν μ μλ€.
ν΄λμ€/λ©μλ μ½λλ₯Ό μμ± μ, νμ μ ꡬ체μ μΌλ‘ μ§μ x, μΆνμ μ§μ ν μ μλλ‘ μΌλ°νν΄λλ κ² β μμ±ν ν΄λμ€/λ©μλ μ½λκ° νΉμ λ°μ΄ν° νμ μ μ½λ§€μ΄μ§ μμ
= μ λ€λ¦μ΄ μ¬μ©λ ν΄λμ€
βοΈ T
= νμ
λ§€κ°λ³μ β ν΄λμ€λͺ
μ€λ₯Έμͺ½μ<T>
μ κ°μ΄ μμ± = ν΄λμ€ λ΄λΆμμ μ¬μ©ν νμ
λ§€κ°λ³μ μ μΈ β ν΄λμ€ λͺΈμ²΄μμ T
λ₯Ό μμμ νμ
μΌλ‘ μ¬μ© κ°λ₯
T
= type, K
= key, V
= value, E
= element, N
= number, R
= result λ± μμ£Ό μ¬μ© β
ν΄λμ€ λ³μ
μλ νμ λ§€κ°λ³μ μ¬μ©ν μ μμ
μλνλ©΄,ν΄λμ€ λ³μ
μ νμ λ§€κ°λ³μλ₯Ό μ¬μ©ν μ μλ€λ©΄,ν΄λμ€ λ³μ
μ νμ μ΄ μΈμ€ν΄μ€λ³λ‘ λ¬λΌμ§κ² λλλ°(μ¦, μΈμ€ν΄μ€1κ³Ό μΈμ€ν΄μ€2μν΄λμ€ λ³μ
κ° λ€λ₯Έ νμ μ΄μ λ€λ₯Έ μ‘΄μ¬μ), μ΄λν΄λμ€ λ³μ
μ μ μ/νΉμ±(ν΄λΉ ν΄λμ€μ λͺ¨λ μΈμ€ν΄μ€λ€μ΄ 곡μ νλ λ³μ)κ³Ό λͺ¨μμΈ μνκ° λκΈ° λλ¬Έμ΄λ€.
β νμ λ§€κ°λ³μμ μΉνλ νμ μΌλ‘ κΈ°λ³Έ/μμ/primitive νμ μ μ§μ ν μ μμ
β wrapper ν΄λμ€ μ¬μ©
βοΈ μ λ€λ¦ ν΄λμ€ μμ1
// λͺ¨λ νμ
μ λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ μΈμ€ν΄μ€ μμ± κ°λ₯
class Basket<T> {
private T item;
public Basket(T item) {
this.item = item;
}
public T getItem() {
return item;
}
public void setItem(T item) {
this.item = item;
}
}
βοΈ νμ λ§€κ°λ³μλ₯Ό 2κ° μ΄μ μ¬μ©ν μλ μμ
class InfoMap<K, V> {
private K key;
private V value;
public InfoMap(K key, V value) {
this.key = key;
this.value = value;
}
public K getKey() {
return key;
}
public void setKey(K key) {
this.key = key;
}
public V getValue() {
return value;
}
public void setValue(V value) {
this.value = value;
}
}
- νλ‘κ·Έλλ°μμ μμΈ μ²λ¦¬κ° 무μμΈμ§ μ΄ν΄ν μ μλ€ + μμΈ μ²λ¦¬κ° νμν μ΄μ λ₯Ό μ€λͺ ν μ μλ€
- μ»΄νμΌ μλ¬μ λ°νμ μλ¬μ μ°¨μ΄λ₯Ό μ΄ν΄νκ³ μ€λͺ ν μ μλ€.
- μλ° μμΈ ν΄λμ€μ μμ κ³μΈ΅λλ₯Ό ν΅ν΄ ν΄λμ€ κ° κ΄κ³λ₯Ό μ΄ν΄ν μ μλ€ β μμΈ ν΄λμ€μ μμ ꡬ쑰λ₯Ό μ€λͺ ν μ μλ€
- μλ°μ ν΅μ¬μ μΈ μμΈ μ²λ¦¬ λ°©λ²μΈ try-catch λ¬Έκ³Ό μμΈ μ κ°μ λν΄ μ΄ν΄/μ€λͺ ν μ μκ³ , μ¬μ©νμ¬ μμΈλ₯Ό μ²λ¦¬ν μ μλ€.
- throws ν€μλμ throw ν€μλμ μ°¨μ΄μ κ΄ν΄ μ€λͺ ν μ μλ€.
- 컬λ μ νλ μμν¬λ₯Ό μ¬μ©ν λμ μ₯μ μ μ€λͺ ν μ μλ€.
- 컬λ μ νλ μμν¬μ μ£Όμ μΈν°νμ΄μ€μΈ List, Set, Mapμ νΉμ±κ³Ό μ°¨μ΄μ μ μ€λͺ ν μ μλ€.
- 컬λ μ νλ μμν¬μ ꡬ쑰λ₯Ό μ€λͺ ν μ μλ€.
- ArrayListμ LinkedListμ μ°¨μ΄λ₯Ό μ€λͺ νκ³ μ¬μ©ν μ μλ€.
- HashSetκ³Ό TreeSetμ μ°¨μ΄λ₯Ό μ€λͺ νκ³ μ¬μ©ν μ μλ€.
- HashMapμ μ¬μ©ν μ μλ€.
- Iteratorλ₯Ό μ¬μ©νμ¬ μ»¬λ μ μ μνν μ μλ€.
- java.lang.Object ν΄λμ€μ λ©μλλ€
cf. https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html- 컬λ μ νλ μμν¬ μμ€μ½λ λΆμ β 컬λ μ νλ μμν¬μ μΈν°νμ΄μ€μ ꡬν ν΄λμ€ κ° μμ/ꡬν κ΄κ³ νμ
- Java λ°°μ΄ vs ArrayList
- λ§μ μμ λ°μ΄ν°λ₯Ό κ²μνλ λ° μμ΄μ λ°μ΄λ μ±λ₯μ 보μ΄λ Hashing
λ¬Έμ νμ΄ λ±μ νμ©νκΈ° κΈκΈν΄ μ λλ‘ μ 리νμ§ λͺ»νλ κ°λ λ€μ κΌΌκΌΌν μ΄ν΄λ³Ό μ μμ΄ μ μ΅νκ³ , λ§μ΄ λ°°μ λ€!