SortedList 및 SortedDictionary 컬렉션 형식

업데이트: 2007년 11월

System.Collections.SortedList 클래스, System.Collections.Generic.SortedList<TKey, TValue> 제네릭 클래스 및 System.Collections.Generic.SortedDictionary<TKey, TValue> 제네릭 클래스는 IDictionary 인터페이스를 구현한다는 점에서 Hashtable 클래스 및 Dictionary<TKey, TValue> 제네릭 클래스와 유사하지만 요소를 키별 정렬 순서로 유지하며 해시 테이블의 O(1) 삽입 및 검색 특징이 없다는 점에서 다릅니다. 이 세 클래스에는 다음과 같이 공통적인 기능이 많이 있습니다.

다음 표에서는 정렬된 두 목록 클래스와 SortedDictionary<TKey, TValue> 클래스 간의 몇 가지 차이점을 보여 줍니다.

제네릭이 아닌 SortedList 클래스 및 SortedList<TKey, TValue> 제네릭 클래스

SortedDictionary<TKey, TValue> 제네릭 클래스

키와 값을 반환하는 속성은 효율적인 인덱싱된 검색을 위해 인덱싱됩니다.

인덱싱된 검색을 수행하지 않습니다.

검색이 O(log n)입니다.

검색이 O(log n)입니다.

삽입 및 제거는 일반적으로 O(n)이지만 삽입은 이미 정렬 순서로 되어 있는 데이터의 경우 O(1)이므로 각 요소가 목록 끝에 추가됩니다. 이 경우 크기 조정이 필요하지 않다고 가정합니다.

삽입 및 제거는 O(log n)입니다.

SortedDictionary<TKey, TValue>보다 메모리를 적게 사용합니다.

제네릭이 아닌 SortedList 클래스 및 SortedList<TKey, TValue> 제네릭 클래스보다 메모리를 많이 사용합니다.

참고:

직원 ID 번호를 포함하는 직원 레코드와 같이 고유한 키를 포함하는 값의 경우 KeyedCollection<TKey, TItem> 제네릭 클래스에서 파생하여 목록의 일부 특징과 사전의 일부 특징이 있는 키 컬렉션을 만들 수 있습니다.

참고 항목

참조

System.Collections.SortedList

System.Collections.Generic.SortedList<TKey, TValue>

System.Collections.IDictionary

System.Collections.Generic.IDictionary<TKey, TValue>

기타 리소스

일반적으로 사용되는 컬렉션 형식