高性能并发多映射 Java/Scala

2022-08-31 15:57:22

我正在寻找一个高性能,并发,多地图。我已经到处搜索过,但我根本找不到使用与CurrentHashMap相同的方法的解决方案(仅锁定哈希数组的一段)。

多地图将被读取,添加和删除。

多映射键将是一个字符串,其值将是任意的。

我需要O(1)来查找给定键的所有值,O(N)可以删除,但O(logN)是首选。

至关重要的是,删除给定键的最后一个值将从键中删除值的容器,以免泄漏内存。

编辑:这是我构建的解决方案,可在ApacheV2下使用:索引(多地图)


答案 1

为什么不用一些漂亮的类似Scala的方法包装ConcurrentHashMap[T,ConcurrentLinkedQueue[U]](例如,隐式转换为可迭代或任何你需要的东西,以及更新方法)?


答案 2

你试过谷歌收藏吗?它们具有各种多映射实现。


推荐