OrderedDictionary 클래스
- .NET 2.0
- 비제네릭 사전 클래스, 제네릭 버전은 없음
- Hashtable + ArrayList(RemoveAt, 정수 인덱서 등을 지원)
- 요소들의 저장 순서가 추가 순서와 동일함 -> 키 뿐만 아니라 색인으로도 요소에 접근 할 수 있음
반응형
ListDictionary 클래스
- 비제네릭 버전만 존재함
- 단일하게 연결된 목록(단일 연결 목록, Singly Linked List) 자료구조로 저장
- 항목들이 추가된 순서는 유지함
- 목록이 클 경우 엄청나게 느림
- 아주 작은 목록(10개 미만)에서만 효율적임
HybridDictionary 클래스
- 비제네릭 버전만 존재함
- ListDictionary + Hashtable
- 처음에는 ListDictionary로, 자료가 일정 크기가 되면 Hashtable로 전환
- 사전이 작을 때에는 메모리를 적게 먹는 방식으로, 크면 성능이 좋은 방식
- 두 방식에 따르는 전환비용이나 Dictionary의 메모리 사용량이 크게 나쁘지 않아 이걸 쓸 일은 거의 없음
반응형
'C#' 카테고리의 다른 글
[C#] IEqualityComparer<T>, IEqualityComparer, EqualityComparer (0) | 2023.10.02 |
---|---|
[C#] KeyedCollection<TKey,TItem>, DictionaryBase (0) | 2023.09.30 |
[C#] Collection<T>, CollectionBase, ReadOnlyCollection<T> (0) | 2023.09.28 |
[C#] SortedDictionary<TKey,TValue>, SortedList<Tkey,TValue>, SortedList (0) | 2023.09.26 |
[C#] Dictionary<TKey,TValue>, Hashtable (0) | 2023.09.22 |
[C#] IDictionary<TKey,TValue>, IReadOnlyDictionary<TKey,TValue>, IDictionary (0) | 2023.09.20 |
[C#] HashSet<T>, SortedSet<T> (0) | 2023.09.16 |
[C#] BitArray (0) | 2023.09.14 |