ch24 : Collections - Map
λͺ©μ°¨
Collections

Map
β‘ ν€μ κ°μ΄ 1:1λ‘ μ μ₯λλ μλ£κ΅¬μ‘°λ‘, κ°μ μ€λ³΅μ΄ κ°λ₯νλ ν€λ μ€λ³΅μ΄ μλλ€.μ£Όλ‘ HashMap ν΄λμ€λ₯Ό μ¬μ©νκ³ , ν€κ°μ΄ μ λ ¬λμ΄μΌνλ©΄ TreeMapμ μ¬μ©νλ€.
HashTable
HashTableμ Map μΈν°νμ΄μ€λ₯Ό ꡬννμ§λ§, HashMap, TreeMapμλ μ°¨μ΄κ° μλ€.
HashMapμ μ€λ λ-μΈμ΄ννμ§ μμ λ°λ©΄, HashTableμ μ€λ λ μΈμ΄ννλ€.
λν, HashMapμ ν€ νΉμ κ°μ null μ μ₯κ°λ₯νλ, HashTableμ λΆκ°λ₯νλ€.
HashTableμ μ μΈν Map(μ ꡬνν) ν΄λμ€λ€μ μ€λ λ-μΈμ΄ννμ§ μλ€. Map(μ ꡬνν) ν΄λμ€λ€μμ μ€λ λ-μΈμ΄ννκ² κ΅¬ννλ €λ©΄ λ€μκ³Ό κ°μ΄ μ μΈν΄μ£Όμ΄μΌ νλ€.
Map m = Collections.synchronized( new HashMap(..) );
HashTable μμΈν μμ보기βπ
HashMap
ν€λ κΈ°λ³Έμλ£ν/μ°Έμ‘°μλ£ν λͺ¨λ λ μ μμ
λ¨, ν€κ° λλ μλ£νμ equals(), hashcode()λ₯Ό μ ꡬνν΄μΌν¨
hashcode()κ°μ΄ ν€κ°μΌλ‘ μ μ₯λκΈ°μ, λ€λ₯Έ κ°μ²΄(ν€)μΈλ° hashcode()κ°μ΄ κ°μΌλ©΄ κ°μ λ²ν·μ μ¬μ©νκ² λ μ μμ // ???
μ΄κΈ°ν
HashMap<String, String> map = new HashMap<String, String>();λ§μ λ°μ΄ν°λ₯Ό λ΄μ κ²½μ°, ν¬κΈ°λ₯Ό μ΄κΈ°νν΄μ£Όλ κ²μ΄ μ’μ! (ν¬κΈ° μ΄κΈ°ν μν΄λ OK)
μΆκ° (Mapμ λ£μ΄μ€λ€λ ννμ λ§μ΄ μ¬μ©ν¨)
put(ν€, κ°)μ΄λ―Έ μλ
ν€-κ°μμ μλ‘μ΄ κ° λ±λ‘νλ©΄, μ κ°μΌλ‘ λ체λλ€.
μ‘°ν
get(ν€)μλ
ν€-κ°μμ μ κ·Ό/μ‘°ννλ©΄ null κ°μ΄ λμ΄.μ°Έκ³ ) 리μ€νΈ/λ°°μ΄μ κ²½μ° μλ μΈλ±μ€λ‘ μ κ·Όνλ©΄, κ°λ°μμκ² ν΄λΉ μμΉκ° μλ€λ κ±Έ μλ €μ£ΌκΈ° μν΄μ
ArrayIndexOutOfBoundsExceptionμ΄λΌλ μμΈλ₯Ό λ°μμν¨λ€.
keySet(): Map κ°μ²΄μ ν€λ€μ Set νμ μΌλ‘ 리ν΄ν¨values(): Map κ°μ²΄μ κ°μ Collection νμ μΌλ‘ 리ν΄ν¨entrySet(): Map κ°μ²΄μ ν€-κ°μμ Entry νμ μΌλ‘ 리ν΄ν¨ (μ€λ³΅ X)getKey(): Entry νμ μ ν€ μ‘°νgetValue(): Entry νμ μ κ° μ‘°ν
μμ
remove()
TreeMap
β‘ ν€κ°μ μ λ ¬νμ¬ μ μ₯νλ Map μλ£κ΅¬μ‘°κΈ°λ³Έμ μΌλ‘
μ«μ > μνλ²³ λλ¬Έμ > μνλ²³ μλ¬Έμ > νκΈμμΌλ‘ μ λ ¬λλ€.SortedMap μΈν°νμ΄μ€λ₯Ό ꡬννμκΈ°μ μ λ ¬λμ΄ μ μ₯λλ€.
Prperties ν΄λμ€
System ν΄λμ€μ Properties λΌλ ν΄λμ€κ° μλ€.
Propertiesλ
Hashtableμ νμ₯νμκΈ°μ, Map μΈν°νμ΄μ€μ μλ λ©μλλ€μ λͺ¨λ μ¬μ©ν μ μλ€.Prperties ν΄λμ€μ μ¬μ©νλ μ΄μ ?
Hashtable, HashMap λ³΄λ€ μ 곡νλ λ©μλκ° λ§κΈ° λλ¬Έ
load(),store()λ±
λ°μ΄ν° μ μ₯κ³Ό μ½κΈ°λ₯Ό νμ€λ‘ ν μ μλ€.
Last updated