High-performance Concurrent MultiMap Java/Scala
Solution 1:
Why not wrap ConcurrentHashMap[T,ConcurrentLinkedQueue[U]] with some nice Scala-like methods (e.g. implicit conversion to Iterable or whatever it is that you need, and an update method)?
Solution 2:
Have you tried Google Collections? They have various Multimap implementations.
Solution 3:
There is one in akka although I haven't used it.
Solution 4:
I made a ConcurrentMultiMap mixin which extends the mutable.MultiMap mixin and has a concurrent.Map[A, Set[B]] self type. It locks per key, which has O(n) space complexity, but its time complexity is pretty good, if you aren't particularly write-heavy.