对于putget操作,OpenHashMap优于HashMap约5倍:https://gist.github.com/1423303

是否有任何情况下HashMapOpenHashMap更受青睐?

最佳答案

您的代码与OpenHashMap的一种用例完全匹配。您的代码:

println ("scala OpenHashMap: " + time (warmup) {
  val m = new scala.collection.mutable.OpenHashMap[Int,Int];
  var i = 0;
  var start = System.currentTimeMillis();
  while(i<100000) { m.put(i,i);i=i+1;};
})

OpenHashMap(scaladoc)的说明:



我的重点。这解释了您的发现。什么时候使用OpenHashMap而不是HashMap?参见Wikipedia。从那里:



这是一个一般性的解释。与这些事情一样,您的性能将根据使用情况而有所不同,如果您关心它,则需要对其进行评估。

09-05 20:02