나는 나의 webservice로 보내지는 정수의 큰 목록을 가지고있다. 우리 비즈니스 규칙은 이러한 값이 고유해야한다고 말합니다. 복제물이 있는지 알아내는 가장 효과적인 방법은 무엇입니까? 나는 가치관을 알 필요가 없다. 단지 2 개의 가치가 같은지 알아야한다.정수 컬렉션으로 존재를 확인하는 가장 좋은 방법은 무엇입니까?
처음에는 정수 및 List.Exists() 메서드의 일반 목록을 사용하려고 생각했지만 이것은 O (n)의 결과입니다.
그런 다음 Dictionary 및 ContainsKey 메서드를 사용하려고 생각했습니다. 그러나, 나는 단지 키가 필요하고, 나는 값을 필요로하지 않는다. 그리고 저는 이것이 선형 검색이라고 생각합니다.
목록에서 고유성을 찾는 데 사용할 수있는 더 나은 데이터 유형이 있습니까? 아니면 선형 검색으로 붙어 있습니까?
inputList.Count! = hashSet.Count, "Houston, 우리는 복제본을 가지고 있습니다!" – user7116
아직도 O (n)인데, 그가 얻을 수있는 최선이라고 생각합니다. – Marc
@sixlettervariables - 우수 포인트! –