对于put
和get
操作,OpenHashMap
优于HashMap
约5倍:https://gist.github.com/1423303
是否有任何情况下HashMap
比OpenHashMap
更受青睐?
最佳答案
您的代码与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。从那里:
这是一个一般性的解释。与这些事情一样,您的性能将根据使用情况而有所不同,如果您关心它,则需要对其进行评估。