List<T> और Dictionary<TKey, TValue> दोनों जेनेरिक कलेक्शन हैं लेकिन अलग-अलग उद्देश्यों के लिए उपयोग किए जाते हैं।
List<T> - क्रमबद्ध संग्रह
List myList = new List() {
"Maths", "English", "Science"
};
// इंडेक्स द्वारा एक्सेस: myList[0] -> "Maths"
Dictionary<TKey, TValue> - की-वैल्यू पेयर
Dictionary d = new Dictionary();
d.Add("squash", 1);
d.Add("football", 2);
d.Add("rugby", 3);
// की द्वारा एक्सेस: d["football"] -> 2
तुलना तालिका
| विशेषता | List<T> | Dictionary<TKey, TValue> |
|---|---|---|
| एक्सेस | इंडेक्स द्वारा (O(1)) | की द्वारा (O(1) औसत) |
| क्रम | इंसर्शन क्रम बनाए रखता है | क्रम गारंटी नहीं (OrderedDictionary अपवाद) |
| डुप्लीकेट | अनुमत | की यूनिक होनी चाहिए |
| खोज | O(n) - लीनियर सर्च | O(1) - की द्वारा लुकअप |
| मेमोरी | कम | अधिक (हैश टेबल ओवरहेड) |
कब क्या उपयोग करें:
- List: जब क्रम मायने रखता हो, डुप्लीकेट अनुमत हों, इंडेक्स द्वारा एक्सेस हो
- Dictionary: जब तेज़ की-आधारित लुकअप चाहिए, की यूनिक हों