SSISO Community

시소당

Hashtable과 HashMap의 차이점 알고 싶습니다..

이  둘의  차이점을  잘  모르겠네요
책에는  HashMap이  Hashtable보완되어  나왔다고만  되어  있는데
사용하는거  보니깐  그렇지  않은거  같아서요
아직도  Hashtable을  많이  사용도  되고  있는거  같고...

------------------------------------------------------------------------------


HashMap  이나  Hashtable  이나  둘다  Map  인터페이스를  implements  하고있지만  프로그래밍  환경에  따라서  적절한  놈으로  골라써야  합니다.



java  API  문서에  보면

The  HashMap  class  is  roughly  equivalent  to  Hashtable,  except  that  it  is  unsynchronized  and  permits  nulls

"간략히  말해서  HashMap  은  Hashtable과  같다,  다만  HashMap  이  unsynchronized  하고  null  값을  허용할  뿐이다."

그러면  Hashtable  에는  null  값이  들어갈  수  없다는건가?  이건  잘  모르겠지만  님께서  Hashtable  만들어놓고  null  키값과  null  value  를  함  넣어보시면  확인하실  수  있을  듯...

중요한  건  HashMap은  멀티쓰레드  환경에서  사용하면  안된다는  겁니다.

여러개의  쓰레드가  동시에  HashMap  을  건드려서  key,  value  를  써넣게  되면  문제가  발생할  수  있다,  뭐  이런것  같습니다.  멀티쓰레드  프로그래밍  환경에서는  HashMap  을  쓰면  안되고  Hashtable  을  써야  한다는  거죠...

단일  쓰레드  환경에서  Hashtable  을  쓰더라도  별  문제는  없는데,  HashMap보다는  성능이  저하될  수  있습니다.

출처  :  네이버  지식인  ->  http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&eid=KCEC/FXIIirrZiU2UyW2xSd+rXOJ5hn/&qb=SGFzaHRhYmxl

842 view

4.0 stars