Junior — Middle
Avtomatik genişlənmədən istifadə etmədən HashMap-i başlatmaq üçün minimum element sayı nə qədərdir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da HashMap-in ilkin yaddaş tutumu (capacity) və yükləmə faktoru (load factor), müvafiq olaraq 16 və 0.75-dir və standart olaraq təyin olunub. Avtomatik genişlənmə, elementlərin sayı capacity * load factor-dən çox olduqda baş verir.
İlkinləşdirmə zamanı avtomatik genişlənmənin qarşısını almaq üçün, lazım olan element sayını tutacaq şəkildə yaddaş tutumu təyin edilməlidir ki, hədd aşılmasın.
HashMap-i genişlənmədən n element ilə başlatmaq üçün, initialCapacity >= n / loadFactor olmalıdır.
Nümunə:
int expectedElements = 10;
float loadFactor = 0.75f;
int initialCapacity = (int) Math.ceil(expectedElements / loadFactor);
HashMap<String, String> map = new HashMap<>(initialCapacity, loadFactor);