Sobes.tech
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);