一直想当然Hashmap比Hashtable快。
可最近发现很多人说Hashtable比Hashmap快多了。
在jdk 1.4.1.x上测试后,发现果然如此。
Gosh.
import java.util.*;
public class HashMapTest{
public static void main(String args[]){
HashMap hm = new HashMap();
int sizeOfTrial = 100000;
String[] keys = new String[sizeOfTrial];
String[] vals = new String[sizeOfTrial];
//init sizeOfTrial key/value pairs
for (int i=0; i < sizeOfTrial; i++){
String s1 = new String("key"+ i);
String s2 = new String("val"+ i);
keys[i] = s1;
vals[i] = s2;
}
long t1 = System.currentTimeMillis();
for (int i=0; i < sizeOfTrial; i++){
hm.put(keys[i],vals[i]);
}
long t2 = System.currentTimeMillis();
System.out.println("total time " + (t2-t1));
}
}
把HashMap换成Hashtable 就可以测试了。
大概10万次的操作。Hashtable 快了90%