Junior — Middle
Оё шумо метавонед консепсияи HashMap ва чӣ гуна кор мекунад барои нигоҳ доштани маълумоти калид-арзишро шарҳ диҳед?
sobes.tech AI
Ҷавоб аз AI
HashMap — структураи маълумотест, ки ҷуфтҳои калид-арзишро нигоҳ медорад ва дастрасии зуд ба арзишҳо тавассути калидро таъмин мекунад.
Принсипи кор:
- Калид аз функсияи хеш гузаронида мешавад, ки индексро дар массив (бастаи) ҳисоб мекунад.
- Арзиш дар ҳамин баста дар ҳамроҳ бо калид нигоҳ дошта мешавад.
- Дар ҷустуҷӯ ба поёни калид, хеш дубора ҳисоб карда мешавад ва мувофиқи индекс дар массив ҷуфти зарурӣ ёфта мешавад.
Агар чанд калид хеши якхела дошта бошанд (коллизия), онҳо дар шакли рӯйхат ё дарахт дар ҳамон баста нигоҳ дошта мешаванд.
Ин имкон медиҳад, ки амалиётҳои ворид кардан, ҷустуҷӯ ва тоза кардан дар миёнаи вақт тақрибан дар вақти доимӣ (O(1)) иҷро шаванд.
Масалан дар Java:
HashMap<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 5);
int count = map.get("apple"); // бармегардонад 3
Бинобар ин, HashMap барои дастрасии зуд ба маълумот тавассути калиди ягона муфид аст.