首页 > 解决方案 > 存储一个不断查找的三元组列表

问题描述

我想存储 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我应该能够通过to getlist[1]或 by ObjectOfEnum1to get查找list[0]。我想让它们在 O(1) 中。我正在使用 Java 8。请指出任何可以帮助我做到这一点的数据结构。

我只能想到三个 Maps(每个都有一个不同类型的 Enums 的键)和另一个 2 的元组的值。但是这个解决方案看起来很难看。如果有什么我可以使用的,请告诉我。

标签: javaalgorithmhashhashmaptriplet

解决方案


推荐阅读