zoukankan      html  css  js  c++  java
  • JAVA——遍历

    关于遍历,发现了个坑。 详见如下:

    package com.fxl.test;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class TestLoop {
        
        
        public static void main(String[] args) {
            List<String> list = new ArrayList();
            for(int i=0;i<10000*100;i++){
                list.add("test"+i);
            }
            test1(list);
            test2(list);
        }
        public static void test1(List<String> list){
            long start = System.currentTimeMillis();
            long num = 0l;
            for(String str : list){
                num += Long.parseLong(str.replace("test", ""));
            }
            System.out.println("result:"+num + "
     use Time:"+(System.currentTimeMillis()-start)/1000);
        }
        
        public static void test2(List<String> list){
            long start = System.currentTimeMillis();
            long num = 0l;
            /*for(Iterator<String> it=list.iterator(); it.hasNext();){
                num += Long.parseLong(it.next().replace("test", ""));
                it.remove();
            }*/
            Iterator<String> it = list.iterator();
            while (it.hasNext()) {
                String str = it.next();
                num += Long.parseLong(str.replace("test", ""));
                it.remove();
            }
            
            System.out.println("result:"+num + "
     use Time:"+(System.currentTimeMillis()-start)/1000);
        }
        
    }

    运行结果:

      

    看,是不是很6,按理来说,一边遍历一边删除会少遍历一些,速度会快一些,but。。。。。。

  • 相关阅读:
    jQuery
    jQuery
    jQuery
    jQuery
    jQuery
    JavaScript DOM 编程艺术
    JavaScript DOM 编程艺术
    JavaScript DOM 编程艺术
    【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载
    可重入函数(转载)
  • 原文地址:https://www.cnblogs.com/FancyLian/p/9929461.html
Copyright © 2011-2022 走看看