प्रदान करता है मेरे पास 60k आइटम हैं जिन्हें 20k लुकअप सूची के विरुद्ध चेक करने की आवश्यकता है। क्या कोई संग्रह वस्तु है (जैसे List
, HashTable
) जो एक असाधारण तेज़ Contains()
विधि प्रदान करता है? या मुझे अपना खुद लिखना होगा? अन्य शब्दों में, डिफ़ॉल्ट Contains()
विधि केवल प्रत्येक आइटम को स्कैन करें या यह बेहतर खोज एल्गोरिदम का उपयोग करता है।क्या .NET संग्रह सबसे तेज़ खोज
foreach (Record item in LargeCollection)
{
if (LookupCollection.Contains(item.Key))
{
// Do something
}
}
नोट। लुकअप सूची पहले से ही क्रमबद्ध है।
सूची के लिए सूची वस्तुओं की सूची के लिए काम नहीं करती है क्योंकि यह संदर्भों की तुलना कर रही है। – Fiur
क्रमबद्ध डेटा? बाइनरी खोज - @ मार्क का जवाब देखें। –
हैशटेबल मेरे अनुभव में 2 एम आइटम तक कुछ भी धड़कता है –