Junior — Middle
Dictionary ve HashSet veri yapıları kullanım ve iç yapıları açısından nasıl farklılık gösterir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dictionary ve HashSet C#'ta hash tablolarına dayanan veri yapılarıdır, ancak farklı amaçlar ve yapılarla:
-
Dictionary<TKey, TValue> anahtar-değer çiftleri koleksiyonudur. Benzersiz bir anahtar kullanarak hızlıca değer bulmayı sağlar. İçsel olarak anahtarların hashlenmesini kullanır.
-
HashSet<T> anahtar-değer çifti olmayan benzersiz öğeler koleksiyonudur. Benzersiz nesneleri depolamak ve hızlı arama, ekleme veya silme işlemleri için kullanılır.
Ana farklar:
- Dictionary çiftleri depolar, HashSet sadece anahtarlar (öğeler).
- Dictionary anahtar ile değeri almayı sağlar, HashSet ise bir öğenin var olup olmadığını kontrol eder.
Örnek:
var dict = new Dictionary<int, string>();
dict[1] = "bir";
var set = new HashSet<int>();
set.Add(1);
bool hasKey = dict.ContainsKey(1); // true
bool hasElement = set.Contains(1); // true
Bu nedenle, anahtar-değer ilişkilendirmesi gerekiyorsa Dictionary, öğelerin benzersizliği ve hızlı arama önemliyse HashSet tercih edilmelidir.