在一篇“启示4:用HashMap提高内存查询速度”的文章中介绍了利用Map提高查询速度的方法,对于查找字符串的value时,此方法大大提高了程序的运行速度。但是你可能想不到的另一项Map的用处:对于key值落于一定范围内的数据更新操作。有意思的是,经过测试,在Amd(双核)+win7(后面称为‘环境1’) 与Intel(双核)+winxp(后面称为‘环境2’) 这2中环境中的测试结果截然不同。欢迎有兴趣的同仁加入测试,并给出解释过程。并发送到coorz@126.com。
在这次测试中,主要关注key值在一定范围内的HashMap插入情况。
测试java类:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class MapListCompare {
private static int maxNum = 1000000;
public static void main( String[] args){
Long tempTimeVar = System.currentTimeMillis();
List< Integer > list = new ArrayList< Integer >();
Map< Integer , Integer > map = new HashMap< Integer, Integer >();
Set< Integer > set = new HashSet< Integer >();
Integer[] array = new Integer[maxNum];
int i ;for ( i = 0 ; i < maxNum ; i++ ){
array[ i ] = i;
}
System