U informatici, multimapa (ponekad multiheš) predstavlja generalizaciju mape ili asocijativnog niza podataka, u kome više od jedne vrednosti može biti vezana i vraćena za dati ključ. Mapa i multimapa su specifični slučajevi kontejnera. Često se multimape implementiraju u obliku mapa sa listama i setovima kao vrednostima same mape.[1]

Primeri

uredi
  • U sistemu za upis studenata, gde student može biti prijavljen na više predmeta istovremeno, može postojati veza za svaki upis na kurs, gde je ključ studentski indeks, a vrednost je indeks kursa. Ako je student prijavljen na tri kursa, postojaće tri veze koje sadrže isti ključ.
  • Indeks knjige može bilo koji broj referenci za dati indeks i tako može biti kodiran kao multimapa od indeksa, do bilo kog broja referisanih lokacija.
  • Kveristringovi mogu imati višestruke vrednosti vezane za jedno polje. To se uobičajeno generiše kada veb formular omogućava da više čekboksova bude označeno u okviru jednog formulara.

Jezička podrška

uredi
  • C++-ova Standard Template Library obezbeđuje multimap kontejner za sortiranu multimapu koristeći samobalansirajuće binarno stablo pretrage[2] i SGI-ov STL dodatak, obezbeđujući heš multimap kontejner, koji implementira multimapu koristeći heš tabele.[3]
  • Apache Commons kolekcije obezbeđuju podršku za multimape u Javi.[4] Takođe, omogućuju i implementacionu klasu MultiValueMap-e, koja pravi multimapu od objekata mape i tipova kolekcije.
  • Gugl Guava takođe obezbeđuje multimap interfejs i implementaciju.[5] API Scala programskog jezika takođe omogućava multimape i implementacije.[6]

Reference

uredi
  1. ^ „std::multimap – cppreference.com”. fr.cppreference.com (na jeziku: francuski). Pristupljeno 9. 4. 2020. 
  2. ^ „multimap<Key, Data, Compare, Alloc>”. Standard Template Library Programmer's Guide. Silicon Graphics International. 
  3. ^ „hash_multimap<Key, HashFcn, EqualKey, Alloc>”. Standard Template Library Programmer's Guide. Silicon Graphics International. 
  4. ^ „Interface MultiMap”. Commons Collections 3.2.1 API, Apache Commons. Arhivirano iz originala 16. novembar 2007. g. Pristupljeno 30. maj 2013. 
  5. ^ „Interface Multimap<K,V>”. Guava Library 2.0. Arhivirano iz originala 15. januar 2013. g. Pristupljeno 30. maj 2013. 
  6. ^ „Scala.collection.mutable.MultiMap”. Scala stable API.