Bu mavzuni boshlashdan oldin Hash kod va Hash jadval haqida bilib olsak !
Hash kod – Ma'lumotlar to'plamida qidiruv va kiritishga yordam beruvchi, hash jadvalga asoslangan raqamli qiymat.
Hash jadval – bu kalit/qiymat elementlarni saqlash uchun maxsus to'plam. Stack, Array, List va Queue ni o'rniga Hash jadval 2 xil qiymat saqlaydi (kalit va qiymat).
Hashtable – Hash kodga asoslangan, kalit/qiymat ko'rinishidagi juft elementlar to'plami. Boshqacha qilib aytganda, Hashtable ma'lumotlarni saqlash uchun hash jadvaldan foydalanadi (hash table). Hashtable (non-generic) generic bo'lmagan to'plamdir, shu sababdan kodni yuqorisiga System.Collections ni yozish kifoya.
MUHIM QOIDALAR!
• Hashtable kaliti null qiymatli bo'lishi mumkin emas
using System;
using System.Collections;
public class Program
{
public static void Main()
{
Hashtable hashtable_nomi = new Hashtable();
hashtable_nomi.Add(1, "element1");
hashtable_nomi.Add(2, "element2");
hashtable_nomi.Add(3, "element3");
foreach (DictionaryEntry t in hashtable_nomi)
{
Console.WriteLine($"kalit: {t.Key} qiymat: {t.Value}");
}
}
}
using System;
using System.Collections;
public class Program
{
public static void Main()
{
Hashtable hashtable_nomi = new Hashtable();
hashtable_nomi.Add(1, "element1");
hashtable_nomi.Add(2, "element2");
hashtable_nomi.Add(3, "element3");
hashtable_nomi.Remove(2);
foreach (DictionaryEntry t in hashtable_nomi)
{
Console.WriteLine($"kalit: {t.Key} qiymat: {t.Value}");
}
Console.WriteLine("*********************************");
hashtable_nomi.Clear();
foreach (DictionaryEntry t in hashtable_nomi)
{
Console.WriteLine($"kalit: {t.Key} qiymat: {t.Value}");
}
}
}
using System;
using System.Collections;
public class Program
{
public static void Main()
{
Hashtable hashtable_nomi = new Hashtable();
hashtable_nomi.Add(1, "element1");
hashtable_nomi.Add(2, "element2");
hashtable_nomi.Add(3, "element3");
Console.WriteLine(hashtable_nomi.Contains(1));
Console.WriteLine(hashtable_nomi.ContainsKey(6));
Console.WriteLine(hashtable_nomi.ContainsValue("element3"));
}
}