From here, I found that Colt's OpenIntIntHashMap and Trove's TIntIntHashMap give better performance and memory uses than Java's built in HashMap or Guava's HashMultimap.
Do Colt's OpenIntIntHashMap or Trove's TIntIntHashMap allow keys with multiple values, as with HashMultimap? If not what is a nice way to implement a HashMultimap that can achieve Colt's or Trove's performance and memory efficiency?
Note: I have tested Guava's HashMultimap, but its performance and memory efficiency seems poor to me.
解决方案
Multimaps.newSetMultimap(
TDecorators.wrap(new TIntObjectHashMap>()),
new Supplier>() {
public Set get() {
return TDecorators.wrap(new TIntHashSet());
}
});