• 2017.10.25 Java List /ArrayList 三种遍历方法


    java list三种遍历方法性能比较

    学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入记录,然后遍历ArrayList,测试代码如下:

    package com.hisense.tiger.list;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListTest {
    	public static void main(String[] args)
    	{
    		List<String> list = new ArrayList<String>();
    		long t1,t2;
    		for(int j = 0; j < 10000000; j++)
    		{
    			list.add("aaaaaa" + j);
    		}
    		System.out.println("List first visit method:");
    		t1=System.currentTimeMillis();
    		for(String tmp:list)
    		{
    			//System.out.println(tmp);
    		}
    		t2=System.currentTimeMillis();
    		System.out.println("Run Time:" + (t2 -t1) + "(ms)");
    		System.out.println("List second visit method:");
    		
    		t1=System.currentTimeMillis();
    		for(int i = 0; i < list.size(); i++)
    		{
    			list.get(i);
    			//System.out.println(list.get(i));
    		}
    		t2=System.currentTimeMillis();
    		System.out.println("Run Time:" + (t2 -t1) + "(ms)");
    		
    		System.out.println("List Third visit method:");
    		Iterator<String> iter = list.iterator();
    		
    		t1=System.currentTimeMillis();
    		while(iter.hasNext())
    		{
    			iter.next();
    			//System.out.println(iter.next());
    		}
    		t2=System.currentTimeMillis();
    		System.out.println("Run Time:" + (t2 -t1) + "(ms)");
    				
    		System.out.println("Finished!!!!!!!!");
    		
    		
    	}
    }
    

    第一种:

       for(Iterator<A>    it    =    list.iterator();    it.hasNext();    )    {   
    
        it.next();
           ....   
       }   
    

    第二种:

       for(A    a    :    list)    {   
           .....   
       }   
    

    第三种:

       for(int    i=0;    i<list.size();    i++)    {   
           A    a    =    list.get(i);   
           ...   
       }   
    ``
  • 相关阅读:
    我渴望自由和成功(愿与君共勉)
    gdb使用 和core dump文件调试
    谷歌浏览器快捷键大全
    Android适屏
    BestCoder Round #33
    NAT&amp;Port Forwarding&amp;Port Triggering
    程序员应该学习的书
    java代码调用rtx发送提醒消息
    js实现excel导出
    一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍(转)
  • 原文地址:https://www.cnblogs.com/qichunlin/p/7732701.html
Copyright © 2020-2023  润新知