У информатици, мултимапа (понекад мултихеш) представља генерализацију мапе или асоцијативног низа података, у коме више од једне вредности може бити везана и враћена за дати кључ. Мапа и мултимапа су специфични случајеви контејнера. Често се мултимапе имплементирају у облику мапа са листама и сетовима као вредностима саме мапе.[1]
Примери
- У систему за упис студената, где студент може бити пријављен на више предмета истовремено, може постојати веза за сваки упис на курс, где је кључ студентски индекс, а вредност је индекс курса. Ако је студент пријављен на три курса, постојаће три везе које садрже исти кључ.
- Индекс књиге може било који број референци за дати индекс и тако може бити кодиран као мултимапа од индекса, до било ког броја реферисаних локација.
- Кверистрингови могу имати вишеструке вредности везане за једно поље. То се уобичајено генерише када веб формулар омогућава да више чекбоксова буде означено у оквиру једног формулара.
Језичка подршка
- C++-ова Standard Template Library обезбеђује мултимап контејнер за сортирану мултимапу користећи самобалансирајуће бинарно стабло претраге[2] и SGI-ов STL додатак, обезбеђујући хеш мултимап контејнер, који имплементира мултимапу користећи хеш табеле.[3]
- Apache Commons колекције обезбеђују подршку за мултимапе у Јави.[4] Такође, омогућују и имплементациону класу MultiValueMap-е, која прави мултимапу од објеката мапе и типова колекције.
- Гугл Guava такође обезбеђује мултимап интерфејс и имплементацију.[5] API Scala програмског језика такође омогућава мултимапе и имплементације.[6]
Референце