나는 List<T1>
개의 항목과 두 번째 List<T2>
개의 항목을 가지고 있습니다. 두 목록 모두 속성 A에 의해 사전 순으로 정렬됩니다. List<T2>
의 항목 목록은 List<T1>
의 하위 집합이며 에는없는 List<T2>
의 항목이 존재하지 않습니다.2 목록 반복
List<T1>
을 반복하고 List<T2>
의 변수와 매치 할 때마다 변수를 변경해야합니다. 가장 빠른 방법은 무엇입니까? 두 목록을 반복해야한다고 가정하고 있지만 중첩 된 foreach를 수행하는 것이 의미가 없다는 것을 알고 있습니다.
foreach(var item in list1) {
if (list2.Contains(item) {
//Do something
}
}
당신은 빨리 만들 수있는 사용자 정의 IComparer<T>
를 사용하여 BinarySearch
를 호출하여, 다음과 같이 : 목록이 너무 큰 수없는 경우
같은 유형의 목록이 있습니까? – SLaks
목록의 기간은 얼마입니까? 우리가 작은 수에 대해서 이야기하고 있다면 아주 간단한 원유 O (n^2) 해법을 배제하지 마십시오. –
'List1의 x에서 x는 List2의 y와 결합 y.P와 같음'? – Gabe