λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Note for moment

[Map] HashMap, HashTable, TreeMap

by πŸ’œautumn 2020. 8. 22.

1. Map

 : MapμΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•œ ν΄λž˜μŠ€λ“€μ€ 킀와 값을 ν•˜λ‚˜μ˜ 쌍으둜 μ €μž₯ν•˜λŠ” 방식을 μ‚¬μš©

 : μš”μ†Œμ˜ μˆœμ„œλŠ” μ €μž₯ν•˜μ§€μ•ŠμœΌλ©°, ν‚€κ°’μ˜ 쀑볡은 ν—ˆμš©ν•˜μ§€μ•ŠμœΌλ‚˜ κ°’μ˜ 쀑볡은 ν—ˆμš©

 : HashMap<K,V> HashTable<K,V> TreeMap<K,V>

​

​

2. HashMap

 : ν•΄μ‹œμ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš© >> 검색속도 우수

 : μ€‘λ³΅λœ ν‚€κ°’ ν—ˆμš©X (단, κ°’μ˜ 쀑볡은 ν—ˆμš©)

  Method    Function  
hashMap.put(K,V) μš”μ†Œ κ°’ μΆ”κ°€
hashMap.keySet() ν‚€λ“€ λ°˜ν™˜ > set(μ§‘ν•©)ν˜•νƒœλ‘œ
hashMap.entrySet() μ•€νŠΈλ¦¬λ“€ λ°˜ν™˜ > set(μ§‘ν•©)ν˜•νƒœλ‘œ
hashMap.get(K) 킀에 ν•΄λ‹Ήν•˜λŠ” κ°’ λ°˜ν™˜
hashMap.replace(K,V) 킀에 ν•΄λ‹Ήν•˜λŠ” κ°’ λ³€κ²½
hashMap.remove(K) 킀에 ν•΄λ‹Ήν•˜λŠ” μ•€νŠΈλ¦¬ 제거
hashMap.size() μ•€νŠΈλ¦¬ 개수 좜λ ₯
hashMap.containsKey(K) 맡에 ν•΄λ‹Ή ν‚€κ°€ μ‘΄μž¬ν•˜λŠ”μ§€ booleanν˜•μœΌλ‘œ λ°˜ν™˜
hashMap.containsValue(V) 맡에 ν•΄λ‹Ή 값이 μ‘΄μž¬ν•˜λŠ” ν‚€κ°€ μžˆλŠ”μ§€ booleanν˜•μœΌλ‘œ λ°˜ν™˜
hashMap.clear() λ§΅ μ΄ˆκΈ°ν™”
hashMap.isEmpty() 맡이 λΉ„μ—ˆλŠ”μ§€ μ•„λ‹Œμ§€ booleanν˜•μœΌλ‘œ λ°˜ν™˜

 

 

3. HashTable

 : HashMapκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ MapμΈν„°νŽ˜μ΄μŠ€λ₯Ό μƒμ†λ°›μœΌλ©° μ‚¬μš©κ°€λŠ₯ν•œ λ©”μ†Œλ“œκ°€ 거의 동일

 : κΈ°μ‘΄μ½”λ“œμ™€μ˜ ν˜Έν™˜μ„±μ„ μœ„ν•΄ λ‚¨μ•„μžˆλŠ” κ²ƒμ΄λ―€λ‘œ μ‚¬μš© λΉ„κΆŒμž₯

 

 

4. TreeMap

 : 킀와 값을 ν•œμŒμœΌλ‘œν•˜λŠ” 데이터λ₯Ό μ΄μ§„κ²€μƒ‰νŠΈλ¦¬(Binary search Tree)ν˜•νƒœλ‘œ μ €μž₯

 : μ΄μ§„κ²€μƒ‰νŠΈλ¦¬λŠ” 데이터λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μ œκ±°ν•˜λŠ” μ—°μ‚°μ‹œκ°„μ΄ 우수

 : NavigableMapμΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄μ§„κ²€μƒ‰νŠΈλ¦¬ ν–₯상버전인 λ ˆλ“œ-λΈ”λž™νŠΈλ¦¬λ‘œ κ΅¬ν˜„

 : λ§ˆμ°¬κ°€μ§€λ‘œ μ€‘λ³΅λœ ν‚€κ°’ μ €μž₯λΆˆκ°€(κ°’μ˜ 쀑볡은 ν—ˆμš©)

 : λ©”μ†Œλ“œ 거의 동일

​

λŒ“κΈ€