HashMap最快遍历方法

后来我发现下面这篇特完美!
http://www.cnblogs.com/meieiem/archive/2011/11/02/2233041.html

经过本人多伦测试:
排行1:采用键值对查找最快(测试代码方法二)
排行2:其次才是结合Iterator 的(测试代码方法一)
排行3:最次就是看开发人员有多蠢了

以下附上测试代码:

import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.*;
import java.util.Map.Entry;
public class test  
{
    public static void main (String[] args) throws java.lang.Exception
    {   
        
        System.out.println(System.currentTimeMillis());
        HashMap<String,String> map = new HashMap<String,String>();
        for (int i=1;i<10000 ; i++) {
            
            map.put(i+"", i+"");

        }
        
        long currnt = System.currentTimeMillis() ;
        //方法一
        Iterator iterator = map.entrySet().iterator();
        while(iterator.hasNext()){     
           Map.Entry<String, String> entry= (Entry<String, String>) iterator.next();
           System.out.println("1");
            //System.out.println("key:"+entry.getKey()+" value"+entry.getValue()); 
        }      
        
        long curen2 = System.currentTimeMillis();
        System.out.println(curen2 -currnt);
        //方法二:
        for (Map.Entry<String, String> m : map.entrySet()) {
            System.out.println("1");
          // System.out.println("key:"+m.getKey()+" value"+m.getValue());
          }
          
        System.out.println(System.currentTimeMillis()-curen2 );
      

    } 

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容