`

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遍历JSON树

    ### Java遍历JSON树知识点详解 #### 一、前言 在处理Web应用程序中的数据时,JSON(JavaScript Object Notation)是一种非常常见的数据格式。它轻量级且易于读写,因此广泛应用于前后端的数据交互中。对于Java...

    java 遍历文件目录

    要遍历一个目录,可以使用`File`类的`list()`或`listFiles()`方法。`list()`返回目录中的文件名字符串数组,而`listFiles()`则返回`File`对象数组,这使得我们可以区分文件和目录。 ```java File directory = new ...

    list遍历集合源码

    为了遍历List,Java提供了一种迭代器(Iterator)的方式。ListIterator是Iterator的子接口,专为List设计,除了基本的`hasNext()`和`next()`方法外,还提供了`previous()`,`nextIndex()`和`previousIndex()`等方法,...

    java技巧java中可以用来循环遍历任何一个集合的通用方法

    本文将详细介绍一种在Java中循环遍历任何一个集合的通用方法,并通过示例代码来具体说明其实现过程及注意事项。 #### 1. 集合遍历的重要性 集合框架是Java中非常基础且重要的组成部分之一,它提供了存储和管理对象...

    java遍历list集合3种方式和性能对比

    这个测试程序将为每种遍历方法生成一个运行时间,从而帮助我们了解在特定数据量下哪种方法更为高效。需要注意的是,实际的性能差异可能因环境因素(如JVM优化、硬件性能等)而有所不同。 在大多数情况下,如果在单...

    java程序的四种遍历

    首先,这段代码主要展示了如何在Java中遍历一个列表(`List`),并且提供了四种不同的遍历方法。接下来,我们将详细介绍这四种遍历方式及其应用场景。 ### 1. 基于索引的传统for循环 这是最传统也是最直观的遍历...

    Freemarker中遍历list集合实例

    本实例将详细介绍如何在Freemarker中遍历list集合,帮助你理解和应用这一核心功能。 在Freemarker中,遍历list集合主要依赖于`&lt;#list&gt;`指令。当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在...

    Java集合Set、List、Map的遍历方法

    在Java编程中,集合是存储和管理数据的重要工具。Java集合框架提供了多种接口和类,如Set、List和Map,它们各自有不同的特性和用途。...了解和熟练掌握这些遍历方法对于编写高效、健壮的Java代码至关重要。

    Java中遍历链表的代码清单.pdf

    通常,使用迭代器遍历链表比使用`get`方法更高效,因为迭代器内部优化了对链表的操作,而`get`方法需要根据索引查找元素,可能涉及更多的指针操作。 **总结** 在Java中,遍历链表可以采用迭代器或索引(get方法)...

    java遍历特例

    本文档主要介绍了几种常用的遍历`Map`的方法,包括使用传统的迭代器、增强for循环(引入于JDK 1.5)以及对`TreeSet`进行排序的示例。 #### 二、Map的基本遍历方法 文档首先介绍了使用迭代器遍历`Map`的示例: ```...

    FreeMarker 遍历list

    在FreeMarker中,遍历`List&lt;Map&lt;String&gt;&gt;`是常见的操作,尤其在处理从后端传来的复杂数据结构时。这篇博客链接虽然无法直接访问,但从标题来看,我们可以推测其内容可能涉及如何在FreeMarker模板中遍历一个包含Map...

    java使用ListIterator对List遍历时添加修改删除​

    总结,`ListIterator`是Java中处理`List`的强大工具,它提供了更细粒度的控制,使得在遍历过程中进行元素操作变得简单而高效。熟练掌握`ListIterator`的使用,对于编写高效、灵活的Java代码大有裨益。

    java遍历文件夹解析XML.doc

    在Java编程中,遍历文件夹和解析XML是两种常见的操作,它们在处理数据和构建应用程序时发挥着关键作用。这篇文档"java遍历文件夹解析XML.doc"可能详细介绍了如何使用Java进行这两个任务。 首先,让我们深入了解一下...

    运用Java遍历文件夹的方法总结.doc

    本文将详细介绍两种使用Java进行文件夹遍历的方法:递归算法和非递归算法,并对这两种方法进行深入解析。 #### 1. 递归算法实现文件夹遍历 递归算法是一种非常直观且高效的遍历文件夹的方法。其基本思想是通过不断...

    Java8 Stream对两个 List 遍历匹配数据的优化处理操作

    Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...

    Java递归遍历文件目录代码实例

    Java递归遍历文件目录代码实例是Java中的一种常见的遍历方法,它可以将文件目录中的文件和文件夹进行递归遍历,并对其中的文件进行读取和处理。本篇文章将详细介绍Java递归遍历文件目录代码实例的实现过程,并提供...

    暑假培训学习笔记之java循环遍历集合

    在Java编程语言中,集合是数据结构的一种表现形式,它允许我们存储一组对象。而循环遍历集合是Java开发中的基础操作,对于理解和熟练运用Java集合框架至关重要。本笔记将深入探讨如何使用不同类型的循环来遍历Java...

    java中List集合及其遍历详解

    在Java编程语言中,List集合是一个重要的数据结构,...了解它们的特性和遍历方法,能够帮助我们更好地选择和使用List集合,优化程序性能。在实际开发中,要根据实际需求选择合适的数据结构,以实现高效、易维护的代码。

    java 中如何从LIST 对象取值

    在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...

Global site tag (gtag.js) - Google Analytics