`

Java List遍历方法,哪种更高效

 
阅读更多
从网上搜到list的几种遍历方法,希望能够对比高效性,但是通过程序运行,并没有发现太多的差异。以下是运行时间和对应的方法
One:8672
Two:9047
Three:8594
four:8500

package mytest;


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ListTest {
    public static void main(String args[]){
        List<Long> lists = new ArrayList<Long>();

        for(Long i=0l;i<1000000l;i++){
            lists.add(i);
        }
       
        Long oneOk = oneMethod(lists);
        Long twoOk = twoMethod(lists);
        Long threeOk = threeMethod(lists);
        Long fourOk = fourMethod(lists);
       
        System.out.println("One:" + oneOk);
        System.out.println("Two:" + twoOk);
        System.out.println("Three:" + threeOk);
        System.out.println("four:" + fourOk);
       
    }
   
    public static Long oneMethod(List<Long> lists){
       
        Long timeStart = System.currentTimeMillis();
        for(int i=0;i<lists.size();i++)    {
            System.out.println(lists.get(i));
        }
        Long timeStop = System.currentTimeMillis();

        return timeStop -timeStart ;
    }
   
    public static Long twoMethod(List<Long> lists){
       
        Long timeStart = System.currentTimeMillis();
        for(Long string : lists)    {
            System.out.println(string);
        }
        Long timeStop = System.currentTimeMillis();

        return timeStop -timeStart ;
    }
   
    public static Long threeMethod(List<Long> lists){
       
        Long timeStart = System.currentTimeMillis();
        Iterator<Long> it = lists.iterator();
        while (it.hasNext())
        {
                System.out.println(it.next());
        }
        Long timeStop = System.currentTimeMillis();

        return timeStop -timeStart ;
    }   
   
       
   
    public static Long fourMethod(List<Long> lists){
       
        Long timeStart = System.currentTimeMillis();
        for(Iterator<Long> i = lists.iterator(); i.hasNext();)    {
            System.out.println(i.next());
        }
        Long timeStop = System.currentTimeMillis();

        return timeStop -timeStart ;
    }   
}

分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    JAVA上百实例源码以及开源项目源代码

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    JAVA上百实例源码以及开源项目

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象...

    java源码包4

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics...

    java源码包3

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics...

    java源码包2

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字  Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics...

    福优林@Qt5小白变大牛初级篇word---第4章.pdf

    为容器遍历提供了两种迭代器(Java-style,STL-style),并且QT提供了foreach关键字,更加方便元素遍历。其中,Java风格的迭代器更容易使用,特别是对于Java工作人员来说,它提供了高层次的函数;然而,STL风格的...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    第7章 Java中的方法——给汽车丰富多彩的功能 154 教学视频:2小时55分钟 7.1 方法:让汽车动开动 154 7.1.1 引出问题:开动汽车 154 7.1.2 那么,方法到底是什么呢? 155 7.1.3 方法调用过程初探 156 7.2 ...

    Java集合框架.pdf

    2、高性能:Java集合框架中的数据结构和算法经过优化,可以提供高效的性能。 3、类型安全:Java集合框架是类型安全的,即只能存储指定类型的对象,不允许存储不同类型的对象。 4、线程安全:Java集合框架中的某些...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java波浪文字制作方法及源代码 1个目标文件 摘要:Java源码,初学实例,波浪文字 Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,...

    java集合-ConcurrentSkipListSet的使用

    ConcurrentSkipListSet 是Java中的一个线程安全的有序集合类,它基于跳表(Skip List)数据结构实现。 下面是关于 ConcurrentSkipListSet 的一些重要信息: 线程安全性:ConcurrentSkipListSet 是线程安全的,可以...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...

    【Java】常用数据集合体系和特点(汇总)

    文章目录1. Collection体系集合1.1 List ...TreeSet 类(二叉树-自动排序)④ CopyOnWriteArraySet 类(线程安全且高效的Set)&gt;&gt; HashSet排序的两种方法1.3 Queue 队列① ConcurrentLinkedQueue 类(线程安全且高效的Q

    Java的第六周学习报告

    作者:钟良堂 ...基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。 对一个集合的扩展和适应必须是简单的。 为此,整个集合框

Global site tag (gtag.js) - Google Analytics