Какую структуру для хранения трех связанных значений использовать в Java?
Добрый день, хабралюди!
Сейчас в нашем проекте мы используем обычный HashMap для хранения данных ключ-значение (по факту значение-значение, так как сам ключ тоже используется и всегда идёт полный перебор всех элементов).
На данный момент потребовалось хранить ещё третье значение. Какую структуру оптимальнее использовать для тройки связанных значений (значение-значение-значение)?
Пока что придумал создать класс, который хранит все 3 значения, и создать ArrayList из объектов этого класса.
Если выраженного ключа среди них нет (и, соответственно, таких запросов не предвидится), то можно реализовывать так, как вы написали. В принципе, если такого рода структур планируется много, то можно воспользоваться библиотеками типа javatuples. В apache lang3 есть Triple.
А если в HashMap запихнуть пару в качестве значения? И все это обернуть в адаптер для удобства.
Все-таки, если нужен HashMap (быстрый доступ), то ArrayList - это проблема.