Sobes.tech
Junior — Middle

Kako se određuje vremenska složenost operacije umetanja elementa u HashMap?

sobes.tech АИ

Одговор од АИ

Vremenska složenost operacije umetanja elementa u HashMap u Javi je u proseku O(1), odnosno konstantno vreme. To se postiže korišćenjem hash funkcije za brzo određivanje pozicije.

Međutim, u najgorem slučaju, ako dođe do kolizije i svi elementi padnu u isti korpu (bucket), umetanje može degradirati do O(n), gde je n broj elemenata u toj korpi.

Od Java 8, pri velikom broju kolizija, korpa se pretvara iz povezane liste u uravnoteženo drvo (TreeMap), što poboljšava najgori slučaj na O(log n).

Primer:

HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42); // prosečno O(1) umetanje