Мултимапе
Изглед
У информатици, мултимапа (понекад мултихеш) представља генерализацију мапе или асоцијативног низа података, у коме више од једне вредности може бити везана и враћена за дати кључ. Мапа и мултимапа су специфични случајеви контејнера. Често се мултимапе имплементирају у облику мапа са листама и сетовима као вредностима саме мапе.[1]
Примери
[уреди | уреди извор]- У систему за упис студената, где студент може бити пријављен на више предмета истовремено, може постојати веза за сваки упис на курс, где је кључ студентски индекс, а вредност је индекс курса. Ако је студент пријављен на три курса, постојаће три везе које садрже исти кључ.
- Индекс књиге може било који број референци за дати индекс и тако може бити кодиран као мултимапа од индекса, до било ког броја реферисаних локација.
- Кверистрингови могу имати вишеструке вредности везане за једно поље. То се уобичајено генерише када веб формулар омогућава да више чекбоксова буде означено у оквиру једног формулара.
Језичка подршка
[уреди | уреди извор]- C++-ова Standard Template Library обезбеђује мултимап контејнер за сортирану мултимапу користећи самобалансирајуће бинарно стабло претраге[2] и SGI-ов STL додатак, обезбеђујући хеш мултимап контејнер, који имплементира мултимапу користећи хеш табеле.[3]
- Apache Commons колекције обезбеђују подршку за мултимапе у Јави.[4] Такође, омогућују и имплементациону класу MultiValueMap-е, која прави мултимапу од објеката мапе и типова колекције.
- Гугл Guava такође обезбеђује мултимап интерфејс и имплементацију.[5] API Scala програмског језика такође омогућава мултимапе и имплементације.[6]
Референце
[уреди | уреди извор]- ^ „std::multimap – cppreference.com”. fr.cppreference.com (на језику: француски). Приступљено 9. 4. 2020.
- ^ „multimap<Key, Data, Compare, Alloc>”. Standard Template Library Programmer's Guide. Silicon Graphics International.
- ^ „hash_multimap<Key, HashFcn, EqualKey, Alloc>”. Standard Template Library Programmer's Guide. Silicon Graphics International.
- ^ „Interface MultiMap”. Commons Collections 3.2.1 API, Apache Commons. Архивирано из оригинала 16. новембар 2007. г. Приступљено 30. мај 2013.
- ^ „Interface Multimap<K,V>”. Guava Library 2.0. Архивирано из оригинала 15. јануар 2013. г. Приступљено 30. мај 2013.
- ^ „Scala.collection.mutable.MultiMap”. Scala stable API.