HashTable과 Dictionary는 모두 데이터를 저장하는 데 사용되는 데이터 구조 유형입니다. 이 두 데이터 구조는 모두 저장된 데이터를 키 값 쌍으로 보유합니다.
이들의 주요 기능 간의 차이점을 기반으로 다음과 같이 HashTable과 Dictionary를 구별할 수 있습니다. -
Sr. 아니요. | 키 | 해시 테이블 | 사전 |
---|---|---|---|
1 | 정의 | HashTable은 키/값 쌍에 데이터를 저장하는 데 사용되는 일반 유형이 아닌 컬렉션이며 System.Collections에 정의되어 있습니다. 이름 공간. | 반면 사전은 System.Collection.Generics에 정의된 일반 유형 컬렉션입니다. 키/값 쌍의 형태로도 데이터를 저장하는 이름 공간. |
2 | 데이터 유형 | HashTable에서는 데이터 유형이 같거나 다른 데이터를 키와 값으로 저장할 수 있습니다. 키와 값이 동일한 DataType이어야 한다는 제한은 없으며 HashTable에만 저장할 수 있습니다. 또한 키와 값의 유형을 지정할 필요가 없습니다. | 반면 딕셔너리의 키와 값이 동일한 DataType이어야 하는 경우에는 딕셔너리에만 저장될 수 있으며 생성 시 키와 값의 유형을 지정해야 합니다. |
3 | 데이터 검색 | HashTable의 경우 사전에 비해 boxing과 unBoxing으로 인해 데이터 검색이 느립니다. | 반면 딕셔너리 데이터의 경우 딕셔너리의 경우 boxing과 unBoxing이 일어나지 않아 검색이 빠릅니다. |
4 | 널 값 | 해시 테이블에 존재하지 않는 키에 접근할 때 HashTable null 값이 처리된 경우 결과로 null 값이 반환됩니다. | 반면 Dictionary의 경우 주어진 Dictionary에 없는 키에 접근하려고 하면 오류가 발생합니다. |
5 | 데이터 순서 | HashTable은 삽입된 키 값 데이터의 순서를 유지하지 않습니다. | 반면 사전은 저장된 값의 삽입 순서를 유지합니다. |