Middle
როგორ განისაზღვრება ჰეშ-ცხრილის ზომა?
sobes.tech AI
პასუხი AI-სგან
ჰეშის მაგიდის ზომა (მისი საკმარისობა) ჩვეულებრივ განსაზღვრულია კლასის ინстанციის შექმნისას. ხშირად ეს ხდება საწყის მოცულობის მითითებით კონსტრუქტორში.
თუ საწყისი მოცულობა არ არის მითითებული, გამოიყენება ნაგულისხმევი მნიშვნელობა (მაგალითად, Java-ში HashMap-ისთვის 16).
ელემენტების დამატებისას, თუ ელემენტების რაოდენობა გადის მიმდინარე მოცულობის და დატვირთვის ფაქტორის (load factor, ნაგულისხმევი 0.75) ნამრავლის, ჰეშის მაგიდა ავტომატურად ზრდის ზომას (საშუალოდ ორმაგდება) და გადათვლის ყველა ელემენტის ჰეშებს (rehashing).
მოყვანილი მაგალითი საწყის მოცულობის მითითებით:
// HashMap-ის შექმნა საწყის მოცულობით 32
Map<String, Integer> map = new HashMap<>(32);
ამ გზით, ზომა დინამიკურად რეგულირდება საწყის კონფიგურაციის და მიმდინარე დატვირთვის საფუძველზე.