stringtranslate.com

Мультикарта

В информатике multimap (иногда также multihash , multidict или multidictionary ) это обобщение абстрактного типа данных map или ассоциативного массива , в котором более одного значения может быть связано с заданным ключом и возвращено для него. Как map, так и multimap являются частными случаями контейнеров (например, см. контейнеры библиотеки стандартных шаблонов C++ ). Часто multimap реализуется как map со списками или наборами в качестве значений map.

Примеры

Языковая поддержка

С++

Стандартная библиотека шаблонов C++ предоставляет контейнер multimap для сортированного multimap с использованием самобалансирующегося двоичного дерева поиска [1] , а расширение SGIhash_multimap STL предоставляет контейнер, который реализует multimap с использованием хэш-таблицы [2] .

Начиная с C++11, библиотека стандартных шаблонов предоставляет unordered_multimapнеупорядоченную мультикарту. [3]

Дарт

Quiver предоставляет Multimap для Dart . [4]

Ява

Apache Commons Collections предоставляет интерфейс MultiMap для Java . [5] Он также предоставляет класс реализации MultiValueMap, который создает MultiMap из объекта Map и типа Collection. [6]

Google Guava предоставляет интерфейс Multimap и его реализации. [7]

Питон

Python предоставляет collections.defaultdictкласс, который может быть использован для создания multimap. Пользователь может создать экземпляр класса как collections.defaultdict(list).

OCaml

Стандартный библиотечный модуль OCamlHashtbl реализует хеш-таблицу, в которой можно хранить несколько значений для одного ключа.

Скала

API языка программирования Scala также предоставляет Multimap и его реализации. [8]

Смотрите также

Ссылки

  1. ^ "multimap<Key, Data, Compare, Alloc>". Руководство программиста библиотеки стандартных шаблонов . Silicon Graphics International .
  2. ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>". Руководство программиста библиотеки стандартных шаблонов . Silicon Graphics International .
  3. ^ «Рабочий проект, Стандарт языка программирования C++» (PDF) . стр. 7807.
  4. ^ "Multimap". Документация по Quiver API .
  5. ^ "Интерфейс MultiMap". API Commons Collections 3.2.2, Apache Commons .
  6. ^ "Класс MultiValueMap". API Commons Collections 3.2.2, Apache Commons .
  7. ^ "Interface Multimap<K,V>". Guava Library 2.0 . Архивировано из оригинала 2013-01-15 . Получено 2013-01-01 .
  8. ^ "Scala.collection.mutable.MultiMap". Scala стабильный API .