Welke elementen of kenmerken van de interne structuur van HashMap kunnen niet worden gewijzigd na de creatie ervan?
sobes.tech AI
Antwoord van AI
De interne structuur van HashMap in Java omvat een array van buckets, waarbij elke bucket een gekoppelde lijst of een boom (in nieuwere versies) bevat van elementen met dezelfde hash. Na het aanmaken van een HashMap kan de grootte van de bucket-array niet rechtstreeks worden gewijzigd — dit wordt automatisch aangepast tijdens het herschikken (resize) bij het bereiken van een bepaalde load factor.
Ook kan de hash-functie die binnen de HashMap wordt gebruikt niet worden gewijzigd, omdat deze ingebouwd is in de implementatie.
Wat betreft de elementen (Entry), sleutels en waarden kunnen worden gewijzigd als je toegang hebt tot de objecten, maar de structuur van de sleutels zelf (bijvoorbeeld hun hash-code of equals) mag niet worden gewijzigd, omdat dit de integriteit van de kaart zou schaden.
Kortom, de belangrijkste onveranderlijke elementen na het aanmaken van een HashMap zijn:
- De grootte van de interne bucket-array (wijzigt alleen automatisch)
- De hash-functie
- De opslagstructuur van de elementen (gekoppelde lijsten of bomen) — kan niet rechtstreeks worden gewijzigd, alleen via Map-methoden
Voorbeeld: het is niet mogelijk om handmatig de grootte van de bucket-array of de hash-functie te wijzigen, maar het toevoegen en verwijderen van sleutel-waardeparen is mogelijk.