HashTable vs HashMap

 

HashTable & HashMap

HashTable

HashTable은 키나 값에 Null을 허용하지 않는다

또한 Object에 정의된 hashCode()와 equals() 매서드를 재의하는 객체들만 저장할 수 있다

다행히도 자바 내장 클래스들은 대부분 hashCode()가 구현되어있다는 것을 알고 있을 것이다

특히 String타입이 hashCode(), equals()매서드가 두개 모두 구현되어있다

HashTable은 Map 클래스와 마찬가지로 반복자(interator)를 직접 제공하지 않는다

다음 두가지 방식으로 HashTable의 내용을 출력할수있다

또는

HashMap

HashMap은 키나 값에 Null을 허용한다

HashMap 출력방법은 다음의 한가지 밖에 없다(Enumeration 지원 안함)

또한 HashTable은 thread safe**의 한 객체이지만 HashMap은그렇지 못해 unsynchronized하다

이말은 즉 멀티 쓰레드 환경이 아니면 HashMap을 쓰면 속도가 빠르다는 말이된다

굳이 동기화 하자면 다음과 같이 사용해야할것이다

간단히 정리하자면 HashMap이 HashTable에 비해 좀더 실용적으로 변한 형태라고 보면 될것이다

일반적으로 쓴다면 HashMap을 추천하는 바이다

출처 : http://cafe.naver.com/inggi.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=48

 

This entry was posted in Java/JSP and tagged , , . Bookmark the permalink.

댓글 남기기