我有一个本质上是键值对的数据结构。然而,与字典不同,我可能有重复的键,这在我正在设计的系统中是合法的。目前我有一个 Java 类,它实现了一个 Pair 对象(很像这里的例子A Java collection of value pairs? (tuples?)),它有一个左和一个右(键和值),然后我将它们存储在一个 ArrayList 中。
我想要的是一种以比 O(N) 更快的方式查找键的方法,因为列表可以变得非常大。
我曾考虑过可能创建一个倒排索引,但想知道是否还有其他方法?
为了处理重复项的减少,我真的只想根据键获取列表中的位置列表。
不必使用 Java - 这正是我将要实现的。
干杯
大卫