Multimape
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- ^ „std::multimap – cppreference.com”. fr.cppreference.com (na jeziku: francuski). Pristupljeno 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. Arhivirano iz originala 16. novembar 2007. g. Pristupljeno 30. maj 2013.
- ^ „Interface Multimap<K,V>”. Guava Library 2.0. Arhivirano iz originala 15. januar 2013. g. Pristupljeno 30. maj 2013.
- ^ „Scala.collection.mutable.MultiMap”. Scala stable API.