2009-08-04 16 views
21

Tengo dos conjuntos de objetos donde, en algunos casos, el primer conjunto se utilizará como claves para el otro conjunto, y en otros casos, el segundo conjunto se utilizará como claves para el primero. Además, no debe haber duplicados en ninguna de las listas.Diccionario bidireccional?

¿Cuál sería una buena estructura de datos para usar para esto? ¿Debo usar dos diccionarios para esto o hay formas más inteligentes?

+4

Hay una implementación del diccionario bidireccional por Jon Skeet @ http://stackoverflow.com/questions/255341/getting-key-of-value-of- a-generic-dictionary # 255630. Y sí, la forma estándar de lograr esto es usar 2 diccionarios. – Falaina

Respuesta

8

Alguien con un mejor conocimiento de las estructuras de datos probablemente podría dar un mejor consejo, pero personalmente, usaría 2 diccionarios para facilitar su uso. Podría hacer lo mismo con 1 diccionario, pero el tiempo de acceso aumentaría.

Editar: mierda, yo era sólo en el proceso de escribir un poco de código de cómo iba a hacerlo y vi que Falaina ha publicado esto que es la misma idea que yo estaba haciendo sólo es mucho mejor: Getting key of value of a generic Dictionary?

+0

O, lindo. Aceptará esto como la respuesta en esta pregunta, entonces :) – Svish