Xeshlash nima?


Ko’rib turganimizdek bitta qiymatga bir-nechta kalitlar mos kelishi mumkin. Ammo kalitlar takrorlanmasligi lozim


Download 460.48 Kb.
bet3/6
Sana04.01.2023
Hajmi460.48 Kb.
#1076789
1   2   3   4   5   6
Bog'liq
7-mavzu (Xesh jadval va xesh funksiyalar. Qidiruv algoritmlar samaradorligi) (1)

Ko’rib turganimizdek bitta qiymatga bir-nechta kalitlar mos kelishi mumkin. Ammo kalitlar takrorlanmasligi lozim

Hashtable sinfi kalitlarni qiymatlar bilan taqqoslaydigan xesh jadvalini amalga oshiradi. Har qanday null bo'lmagan obyekt kalit yoki qiymat sifatida ishlatilishi mumkin. Obyektlarni heshtableda muvaffaqiyatli saqlash va olish uchun kalit sifatida ishlatiladigan obyektlar hashCode usuli va tenglar usulini qo'llashi kerak. 


Hashtable

Hashtable sinfi kalitlarni qiymatlar bilan taqqoslaydigan xesh jadvalini amalga oshiradi. Har qanday null bo'lmagan obyekt kalit yoki qiymat sifatida ishlatilishi mumkin. Obyektlarni heshtableda muvaffaqiyatli saqlash va olish uchun kalit sifatida ishlatiladigan obyektlar hashCode usuli va tenglar usulini qo'llashi kerak. 


Hashtable ko’rinishida yoziladi

Hashtable xususiyatlari


U HashMap-ga o'xshaydi, lekin sinxronlashtiriladi.
Hashtable kalit/qiymat juftligini xesh jadvalida saqlaydi.
Hashtable-da biz kalit sifatida ishlatiladigan obyektni va biz ushbu kalit bilan bog'lanmoqchi bo'lgan qiymatni belgilaymiz. Keyin kalit xeshlanadi va natijada olingan xesh-kod qiymat jadvalda saqlanadigan indeks sifatida ishlatiladi.
Hashtable sinfining dastlabki standart sig'imi 11, loadFactor esa 0,75.
HashMap hech qanday ro'yxatga olishni ta'minlamaydi, Hashtable esa tez ro'yxatga olishni ta'minlaydi.
K - ushbu xaritada saqlanadigan kalitlar turi
V - ko'rsatilgan qiymatlar turi
Parametrlar turi:

Hashtable yaratishning turli usullari mavjud.

Hashtable yaratishning turli usullari mavjud.

1. Hashtable(): Bu standart yuklanish koeffitsienti 0,75 va boshlang'ich sig'imi 11 bo'lgan bo'sh xesh-jadval yaratadi. 

Hashtable ht = new Hashtable();


Hashtable ht1 = new Hashtable<>();
Hashtable ht2 = new Hashtable();
ht1.put(1, "one");
ht1.put(2, "two");
ht1.put(3, "three");
ht2.put(4, "four");
ht2.put(5, "five");
ht2.put(6, "six");
System.out.println("Mappings of ht1 : " + ht1);
System.out.println("Mappings of ht2 : " + ht2);

Download 460.48 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling