1. Hashtable

자바의 HashTable 클래스는 Map 인터페이스를 구현했으며 동기화된 키-값 (key-values) 매핑을 제공합니다. 이 클래스는 기본적으로 Dictionary 클래스를 상속받으며, 멀티스레드 환경에서 안전하게 사용할 수 있도록 동기화되어있다. 다만 HashTable은 구버전의 데이터 구조이므로 현대 자바 프로그래밍에서는 새로운 버전인 HashMap 등의 컬렉션을 사용할 것을 권장한다.
2. Hashtable 클래스에 정의된 메서드 목록
2.1. 생성자
| 메서드 | 기능 |
|---|
| Hashtable() | 초기 용량이 11이고 load factor가 0.75인 빈 Hashtable을 생성 |
| Hashtable(int initialCapacity) | 지정된 초기 용량의 빈 Hashtable을 생성 |
| Hashtable(int initialCapacity, float loadFactor) | 지정된 초기 용량과 load factor의 빈 Hashtable을 생성 |
| Hashtable(Map t) | 다른 맵(t)의 요소들을 담은 Hashtable을 생성 |
2.2. 삽입 / 탐색 / 삭제 메서드
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
삽입
| 메서드 | 기능 |
|---|
| Object put(Object key, Object value) | Hashtable에 value 객체를 key 객체에 연결하여 저장 |
| void putAll(Map t) | 지정된 Hashtable의 모든 key-value 쌍을 추가 |
탐색
| 메서드 | 기능 |
|---|
| boolean containKey(Object key) | 지정된 key 객체와 일치하는 Hashtable의 key 객체가 있는지 확인 |
| boolean containValue(Object value) | 지정된 value 객체와 일치하는 Hashtable의 value 객체가 있는지 확인 |
| boolean contains(Object value) | 지정된 값(value)이 해시 테이블에 존재하는지 확인 |
| Set entrySet() | Hashtable에 저장되어 있는 모든 key-value 쌍을 Hashtable.Entry 타입의 객체로 저장한 Set을 반환 |
| Set keySet() | Hashtable에 저장된 모든 key 객체를 반환 |
| Collection values() | Hashtable에 저장된 모든 value 객체를 반환 |
| Object get(Object key) | 지정된 키에 연결된 값을 반환 키가 존재하지 않으면 null을 반환 |
| Enumeration keys() | Hashtable의 키(key)들을 열거형(Enumeration)으로 반환 |
| Enumeration elements() | Hashtable의 값(values)들을 열거형(Enumeration)으로 반환 |
삭제
| 메서드 | 기능 |
|---|
| Object remove(Object key) | 지정한 key 객체와 일치하는 key-value 객체를 삭제 |
| void clear() | Hashtable의 모든 객체를 삭제 |
2.3. Hashtable.Entry 클래스에서 정의된 메서드
| 메서드 | 기능 |
|---|
| boolean equals(Obejct o) | 동일한 Entry인지 비교 |
| Object getKey() | Entry의 key 객체를 반환 |
| Object getValue() | Entry value 객체를 반환 |
| int hashCode() | Entry의 해시코드를 반환 |
| Object setValue(Object value) | Entry의 value 객체를 지정된 객체로 변경 |
2.4. 추가 핵심 기능
Object 메서드
| 메서드 | 기능 |
|---|
| boolean equals(Object o) | 동일한 Hashtable인지 비교 |
| int hashCode() | 해시코드를 반환 |
컬렉션 상태 체크 / 변경
| 메서드 | 기능 |
|---|
| boolean isEmpty() | Hashtable이 비어있는지 확인 |
| int size() | Hashtable에 저장된 key-value 쌍의 개수를 반환 |
이러한 기능을 가진 Hashtable을 Properties클래스가 상속한다.
3. 해당 게시글 작성에 참고한 글 목록
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서