Я хотел бы сохранить список троек Enums - скажем, List<<Enum1, Enum2, Enum3>>
, где я мог бы искать по любому из полей. Я имею в виду, скажем, я храню что-то вроде
List<<Enum1, Enum2, Enum3>> list;
list[0] = [ObjectOfEnum1, ObjectOfEnum2, ObjectOfEnum3]
list[1] = [ObjectOfEnum4, ObjectOfEnum5, ObjectOfEnum6]
list[2] = [ObjectOfEnum7, ObjectOfEnum8, ObjectOfEnum9]
list[3] = [ObjectOfEnum10, ObjectOfEnum11, ObjectOfEnum12]
.
.
. Я должен иметь возможность искать по ObjectOfEnum5
, чтобы получить list[1]
, или по ObjectOfEnum1
, чтобы получить list[0]
. Я хотел бы получить их за O (1). Я работаю с Java 8. Пожалуйста, укажите мне любую структуру данных, которая могла бы помочь мне в этом.
Я могу думать только о трех картах (каждая из которых имеет ключ различных типов перечислений) с значение кортежа других 2. Но это решение выглядит некрасиво. Пожалуйста, дайте мне знать, если я могу что-нибудь использовать.