我正在寻找一种高性能、并发的 MultiMap。我到处搜索,但我根本找不到使用与 ConcurrentHashMap 相同的方法的解决方案(仅锁定哈希数组的一部分)。
多图会经常被读取、添加和删除。
多映射键是一个字符串,它的值是任意的。
我需要 O(1) 来查找给定键的所有值,O(N) 可以删除,但 O(logN) 将是首选。
删除给定键的最后一个值将从键中删除值的容器至关重要,以免内存泄漏。
编辑:这是我构建的解决方案,在 ApacheV2 下可用: Index (multimap)
最佳答案
为什么不用一些很好的类似 Scala 的方法来包装 ConcurrentHashMap[T,ConcurrentLinkedQueue[U]](例如,隐式转换为 Iterable 或您需要的任何东西,以及更新方法)?
关于java - 高性能并发 MultiMap Java/Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3635292/