许多键对应于许多值的数据结构.有这样的东西存在吗



我有一组事件-比方说[event1, event2, .., eventN]和一组事件处理程序[handler1, handler2, .., handlerK],每个处理程序可以分配给几个事件。例如,分配给Event1, Event2, Event5Handler6

但我的提示请求正好相反——我需要所选事件的所有处理程序。

有没有任何一种数据结构可以将这种数据对应关系存储在内存中,并有效地检索数据(不比O(log(n))差)

我认为你要做的是一种多对多的关系。每个事件都将有一个处理程序列表,每个处理程序都有一个事件列表。

你也可以尝试使用我们有MultiBiMap吗?或Apache Guava的MultiKeyMaphttps://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/map/MultiKeyMap.html

相关内容

最新更新