2011-09-11 6 views
0

C# SortedList에 키가 있는지 확인하는 가장 좋은 방법은 무엇입니까?C# SortedList에 키가 있는지 확인하는 가장 좋은 방법은 무엇입니까?

질문은 분명합니다. SortedList는 연관된 배열을 나타냅니다. 키와 값은 모두 문자열입니다. 선형 검색을 생각하고 있지만 이진 검색은 'Sorted'라는 것이 더 빠릅니다.

MSDN 또는 일부 인기있는 곳 에서처럼 키로 쌍을 찾을 수있는 표준 방법이 있는지 궁금합니다.

+0

Off 주제 : 조회를 수행하기 위해 SortedList (목록 유형 모음)를 사용하는 것을 이해하지 못합니다. 고유하지 않은 키가 필요한 경우 Lookup 클래스를 조사 했습니까? http://msdn.microsoft.com/en-us/library/bb460184(v=VS.90).aspx –

+0

그냥 습관, 나는 왜 내가 다른 Dictioanry보다 SortedList를 좋아하는지 모르겠다 ... 일반 ... – jondinham

답변

5

ContainsKey은 키가 있는지 확인하는 가장 좋은 방법입니다. 그것은 이미 사용자 정의 검색 알고리즘 만들기에 대한 필요가 없습니다, 최적화 :

"이 방법은 이진 검색 알고리즘을 사용하므로,이 방법은 O이고, n은이고, 작업 (로그 n) 카운트."

+0

은 '포함'보다 명확하게 들리지만 coz '포함'은 "키 또는 값"을 혼란스럽게합니다. 비록 내가 msdn에서 방금 읽은 것처럼, 그들은 정확히 똑같은 행동을한다. :) tks :) – jondinham

관련 문제