Sobes.tech
Junior — Middle

Dictionary və HashSet məlumat strukturları istifadə və daxili quruluş baxımından necə fərqlənir?

sobes.tech Süni İntellekt

AI-dan cavab

DictionaryHashSet C#-də hash cədvəllərinə əsaslanan məlumat strukturlarıdır, lakin müxtəlif məqsədlər və quruluşlara malikdirlər:

  • Dictionary<TKey, TValue> açar-dəyər cütlüklərindən ibarət kolleksiyadır. Unikal açar vasitəsilə dəyəri tez tapmağa imkan verir. Daxili olaraq açarların hashlənməsini istifadə edir.

  • HashSet<T> açar-dəyər cütlüyü olmayan unikal elementlər kolleksiyasıdır. Unikal obyektləri saxlamaq və tez axtarış, əlavə və ya silmə üçün istifadə olunur.

Əsas fərqlər:

  • Dictionary cütlükləri saxlayır, HashSet yalnız açarları (elementləri).
  • Dictionary açar vasitəsilə dəyəri almağa imkan verir, HashSet isə elementin olub-olmadığını yoxlayır.

Nümunə:

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

Buna görə də, açar-dəyər əlaqəsini qurmaq lazımdırsa Dictionary, unikallıq və sürətli axtarış vacibdirsə HashSet seçin.