Sobes.tech
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.