Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 HashTable과 사전의 차이점

<시간/>

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은 삽입된 키 값 데이터의 순서를 유지하지 않습니다. 반면 사전은 저장된 값의 삽입 순서를 유지합니다.