stringtranslate.com

Multimapa

En informática , un multimapa (a veces también multihash , multidict o multidictionary ) es una generalización de un mapa o un tipo de datos abstracto de matriz asociativa en el que se puede asociar y devolver más de un valor para una clave dada. Tanto el mapa como el multimapa son casos particulares de contenedores (por ejemplo, consulte la Biblioteca de plantillas estándar de C++ contenedores ). A menudo, el multimapa se implementa como un mapa con listas o conjuntos como valores del mapa.

Ejemplos

Soporte de idiomas

C++

La biblioteca de plantillas estándar de C++ proporciona el multimap contenedor para el mapa múltiple ordenado utilizando un árbol de búsqueda binario autoequilibrado , [1] y la extensión STL de SGIhash_multimap proporciona el contenedor, que implementa un mapa múltiple utilizando una tabla hash . [2]

A partir de C++11, la biblioteca de plantillas estándar proporciona unordered_multimapel mapa múltiple no ordenado. [3]

Dardo

Quiver proporciona un multimapa para Dart . [4]

Java

Apache Commons Collections proporciona una interfaz MultiMap para Java . [5] También proporciona una clase de implementación MultiValueMap que crea un MultiMap a partir de un objeto Map y un tipo de Collection. [6]

Google Guava proporciona una interfaz Multimap e implementaciones de la misma. [7]

Pitón

Python proporciona una collections.defaultdictclase que se puede utilizar para crear un mapa múltiple. El usuario puede crear una instancia de la clase como collections.defaultdict(list).

OCaml

El módulo de biblioteca estándar de OCamlHashtbl implementa una tabla hash donde es posible almacenar múltiples valores para una clave.

Escala

La API del lenguaje de programación Scala también proporciona Multimap e implementaciones. [8]

Véase también

Referencias

  1. ^ "multimap<Key, Data, Compare, Alloc>". Guía del programador de la biblioteca de plantillas estándar . Silicon Graphics International .
  2. ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>". Guía del programador de la biblioteca de plantillas estándar . Silicon Graphics International .
  3. ^ "Borrador de trabajo, estándar para el lenguaje de programación C++" (PDF) . pág. 7807.
  4. ^ "Multimap". Documentación de la API de Quiver .
  5. ^ "Interfaz MultiMap". API de Commons Collections 3.2.2, Apache Commons .
  6. ^ "Clase MultiValueMap". API de Commons Collections 3.2.2, Apache Commons .
  7. ^ "Interfaz Multimap<K,V>". Biblioteca Guava 2.0 . Archivado desde el original el 15 de enero de 2013. Consultado el 1 de enero de 2013 .
  8. ^ "Scala.collection.mutable.MultiMap". API estable de Scala .