C# में HashMap जावा का है। C# में समतुल्य Dictionary<TKey, TValue> है। डिक्शनरी स्वाभाविक रूप से अनसॉर्टेड होती है। कीज के अनुसार सॉर्ट करने के लिए कीज को लिस्ट में कॉपी करके सॉर्ट करें।
उदाहरण
using System;
using System.Collections.Generic;
using System.Linq;
class Program {
static void Main() {
Dictionary d = new Dictionary();
d.Add("soccer", 1);
d.Add("cricket", 2);
d.Add("tennis", 3);
d.Add("rugby", 4);
// कीज प्राप्त करें और सॉर्ट करें
var keys = d.Keys.ToList();
keys.Sort();
// सॉर्टेड कीज प्रदर्शित करें
foreach (var key in keys) {
Console.WriteLine($"{key}: {d[key]}");
}
}
}
आउटपुट
cricket: 2
rugby: 4
soccer: 1
tennis: 3
बेहतर विकल्प: SortedDictionary
// स्वचालित रूप से कीज द्वारा सॉर्टेड रखता है
SortedDictionary sd = new SortedDictionary();
sd.Add("soccer", 1);
sd.Add("cricket", 2);
// कीज हमेशा सॉर्टेड क्रम में रहेंगी
LINQ का उपयोग (अधिक संक्षिप्त):
foreach (var kvp in d.OrderBy(kvp => kvp.Key)) {
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
तुलना:
| कलेक्शन | सॉर्टिंग | इंसर्शन/लुकअप |
|---|---|---|
| Dictionary | नहीं | O(1) |
| SortedDictionary | हां (ट्री-आधारित) | O(log n) |
| SortedList | हां (ऐरे-आधारित) | O(log n) लुकअप, O(n) इंसर्शन |