Я относительно новичок в Java, и у меня есть вопрос о том, какой тип структуры данных лучше всего подходит для моего случая. У меня есть набор данных, которые по сути являются парами ключ-значение, однако каждое значение может соответствовать нескольким клавишам, и каждый ключ может соответствовать нескольким значениям. Упрощенный пример будет:Какая структура данных Java лучше всего подходит для двунаправленного многозначного сопоставления
- Red-яблочный
- Green-яблочного
- Красной Клубника
- Green-Виноград
- пурпурно-виноград
Учитывая приведенный выше пример, Я должен иметь возможность возвращать то, что у меня есть, и/или какие красные фрукты у меня есть. Фактические данные будут генерироваться динамически на основе входного файла, где каждый набор будет где угодно от 100-100 000 значений, и каждое значение может соответствовать сотням значений в другом наборе.
Что было бы самым эффективным способом хранения и анализа этих данных? Я предпочел бы решение как родное для java, а не нечто вроде внешней базы данных.
This question связан, но я не уверен, как применить решение в моем случае, учитывая, что мне нужно будет присвоить несколько значений каждому ключу в обоих направлениях.
Как насчет карты? http://docs.oracle.com/javase/7/docs/api/java/util/Map.html – Koogle
Существует также этот вопрос: http://stackoverflow.com/questions/2571652/java-many-to- many-association-map – Josh
@Josh - Спасибо, я не нашел этот вопрос в моем поиске. Я рассмотрю решения, чтобы проверить, могу ли я успешно реализовать их для своих данных. – user4588937