Junior — Middle
Можете ли објаснити како се приступа елементу унутар структуре HashMap?
sobes.tech АИ
Одговор од АИ
U Javi, HashMap je implementiran na osnovu niza bucket-ova, od kojih svaki sadrži povezanu listu ili drvo (od Java 8) elemenata sa istim hash kodom.
Pristup elementu se vrši na sledeći način:
- Izračunava se hash kod ključa pomoću
hashCode(). - Hash kod se pretvara u indeks niza bucket-ova (obično putem operacije
hash & (capacity - 1)). - U odabranom bucket-u se traži element sa ključem jednakim traženom (poređenje pomoću
equals()). - Ako je element pronađen, vraća se povezana vrednost.
Primer:
HashMap<String, Integer> map = new HashMap<>();
map.put("key", 42);
Integer value = map.get("key"); // računa se hash, bira se bucket, traži se element
Na ovaj način, pristup elementu je računanje hasha, izbor bucket-a i pretraživanje po ključu unutar bucket-a.