아카이브

HashMap과 HashTable 본문

Java

HashMap과 HashTable

주멘이 2021. 1. 6. 23:44

1. HashTable은 thread-safe 하다. HashMap은 그렇지 않다.

- thread-safe란? 멀티스레드 환경에서 동시 접근이 발생하는 경우에도 값의 내용이나 프로그램 실행에 문제가 없음을 보장하는 것이다.

- 각 스레드에서 프로그램 실행 결과의 올바름을 보장한다.

-  thread-safe는 synchronized cost를 발생시키므로, 단일 스레드 환경에서는 HashMap의 성능이 더 좋다.

HashTable의 method에는 synchroized가 명시되어 있다.

2. HashTable의 key는 not-null이고, HashMap은 하나의 null key와 다수의 null value가 허용된다.

- HashTable의 key는 hashCode(), equals() 에서 사용되기 때문에 null을 허용하지 않는다.

HashTable equals()

 

'Java' 카테고리의 다른 글

equals()메소드와 hashCode()메소드  (0) 2018.06.27
final 키워드  (0) 2018.06.27
Interface와 abstract class  (0) 2018.06.18
String 과 StringBuffer/StringBuilder  (0) 2018.06.18