멀티맵

Multimap

컴퓨터 과학에서 멀티맵(멀티해시, 멀티딕터 또는 멀티딕셔너리)은 맵 또는 연관 배열 추상 데이터 유형의 일반화로, 둘 이상의 값이 특정 키에 관련지어지고 반환될 수 있습니다.맵과 멀티맵은 모두 컨테이너의 특수한 경우입니다(예를 들어 C++ Standard Template Library 컨테이너 참조).대부분의 경우 멀티맵은 맵 값으로 목록 또는 세트를 사용하여 맵으로 구현됩니다.

  • 학생이 여러 클래스에 동시에 등록할 수 있는 학생 등록 시스템에서는 학생이 과정에 등록할 때마다 어소시에이션이 존재할 수 있습니다.여기서 키는 학생 ID이고 값은 과정 ID입니다.학생이 3개의 과정에 등록하면 동일한 키를 포함하는 3개의 협회가 있습니다.
  • 책의 색인은 주어진 색인 용어에 대한 참조를 얼마든지 보고할 수 있으며, 따라서 색인 용어에서 참조 위치 또는 페이지 수에 대한 다중 맵으로 코딩될 수 있다.
  • 쿼리 문자열은 단일 필드와 관련된 여러 값을 가질 수 있습니다.이것은 일반적으로 웹 폼에서 단일 폼 요소에 대한 응답으로 여러 개의 체크 박스 또는 선택을 선택할 수 있는 경우에 생성됩니다.

언어 지원

C++

C++의 표준 템플릿 라이브러리는multimap 자체 밸런싱 바이너리 검색 트리를 [1]사용하여 정렬된 멀티맵을 위한 컨테이너 및 SGI의 STL 확장 기능은hash_multimap컨테이너: 해시 테이블을 [2]사용하여 멀티맵을 구현합니다.

C++11 현재 표준 템플릿 라이브러리는unordered_multimap무질서 멀티맵에 [3]대응합니다.

다트

Quiver는 [4]Dart용 멀티맵을 제공합니다.

자바

Apache Commons Collections[5]Java용 MultiMap 인터페이스를 제공합니다.또한 Map 객체와 컬렉션 [6]유형에서 MultiMap을 만드는 MultiValueMap 구현 클래스도 제공합니다.

Google Guava는 Multimap 인터페이스와 [7]그 구현을 제공합니다.

파이썬

Python은collections.defaultdict멀티맵 작성에 사용할 수 있는 클래스입니다.사용자는 클래스를 다음과 같이 인스턴스화할 수 있습니다.collections.defaultdict(list).

OCaml

OCaml의 표준 라이브러리 모듈Hashtbl는 해시 테이블을 구현하고 있습니다.해시 테이블에서는 키의 값을 여러 개 저장할 수 있습니다.

스칼라

Scala 프로그래밍 언어의 API는 Multimap과 [8]구현도 제공합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "multimap<Key, Data, Compare, Alloc>". Standard Template Library Programmer's Guide. Silicon Graphics International.
  2. ^ "hash_multimap<Key, HashFcn, EqualKey, Alloc>". Standard Template Library Programmer's Guide. Silicon Graphics International.
  3. ^ "Working Draft, Standard for Programming Language C++" (PDF). p. 7807.
  4. ^ "Multimap". Quiver API docs.
  5. ^ "Interface MultiMap". Commons Collections 3.2.2 API, Apache Commons.
  6. ^ "Class MultiValueMap". Commons Collections 3.2.2 API, Apache Commons.
  7. ^ "Interface Multimap<K,V>". Guava Library 2.0. Archived from the original on 2013-01-15. Retrieved 2013-01-01.
  8. ^ "Scala.collection.mutable.MultiMap". Scala stable API.