从网上搜到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树知识点详解 #### 一、前言 在处理Web应用程序中的数据时,JSON(JavaScript Object Notation)是一种非常常见的数据格式。它轻量级且易于读写,因此广泛应用于前后端的数据交互中。对于Java...
要遍历一个目录,可以使用`File`类的`list()`或`listFiles()`方法。`list()`返回目录中的文件名字符串数组,而`listFiles()`则返回`File`对象数组,这使得我们可以区分文件和目录。 ```java File directory = new ...
为了遍历List,Java提供了一种迭代器(Iterator)的方式。ListIterator是Iterator的子接口,专为List设计,除了基本的`hasNext()`和`next()`方法外,还提供了`previous()`,`nextIndex()`和`previousIndex()`等方法,...
本文将详细介绍一种在Java中循环遍历任何一个集合的通用方法,并通过示例代码来具体说明其实现过程及注意事项。 #### 1. 集合遍历的重要性 集合框架是Java中非常基础且重要的组成部分之一,它提供了存储和管理对象...
这个测试程序将为每种遍历方法生成一个运行时间,从而帮助我们了解在特定数据量下哪种方法更为高效。需要注意的是,实际的性能差异可能因环境因素(如JVM优化、硬件性能等)而有所不同。 在大多数情况下,如果在单...
首先,这段代码主要展示了如何在Java中遍历一个列表(`List`),并且提供了四种不同的遍历方法。接下来,我们将详细介绍这四种遍历方式及其应用场景。 ### 1. 基于索引的传统for循环 这是最传统也是最直观的遍历...
本实例将详细介绍如何在Freemarker中遍历list集合,帮助你理解和应用这一核心功能。 在Freemarker中,遍历list集合主要依赖于`<#list>`指令。当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在...
在Java编程中,集合是存储和管理数据的重要工具。Java集合框架提供了多种接口和类,如Set、List和Map,它们各自有不同的特性和用途。...了解和熟练掌握这些遍历方法对于编写高效、健壮的Java代码至关重要。
通常,使用迭代器遍历链表比使用`get`方法更高效,因为迭代器内部优化了对链表的操作,而`get`方法需要根据索引查找元素,可能涉及更多的指针操作。 **总结** 在Java中,遍历链表可以采用迭代器或索引(get方法)...
本文档主要介绍了几种常用的遍历`Map`的方法,包括使用传统的迭代器、增强for循环(引入于JDK 1.5)以及对`TreeSet`进行排序的示例。 #### 二、Map的基本遍历方法 文档首先介绍了使用迭代器遍历`Map`的示例: ```...
在FreeMarker中,遍历`List<Map<String>>`是常见的操作,尤其在处理从后端传来的复杂数据结构时。这篇博客链接虽然无法直接访问,但从标题来看,我们可以推测其内容可能涉及如何在FreeMarker模板中遍历一个包含Map...
总结,`ListIterator`是Java中处理`List`的强大工具,它提供了更细粒度的控制,使得在遍历过程中进行元素操作变得简单而高效。熟练掌握`ListIterator`的使用,对于编写高效、灵活的Java代码大有裨益。
在Java编程中,遍历文件夹和解析XML是两种常见的操作,它们在处理数据和构建应用程序时发挥着关键作用。这篇文档"java遍历文件夹解析XML.doc"可能详细介绍了如何使用Java进行这两个任务。 首先,让我们深入了解一下...
本文将详细介绍两种使用Java进行文件夹遍历的方法:递归算法和非递归算法,并对这两种方法进行深入解析。 #### 1. 递归算法实现文件夹遍历 递归算法是一种非常直观且高效的遍历文件夹的方法。其基本思想是通过不断...
Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...
Java递归遍历文件目录代码实例是Java中的一种常见的遍历方法,它可以将文件目录中的文件和文件夹进行递归遍历,并对其中的文件进行读取和处理。本篇文章将详细介绍Java递归遍历文件目录代码实例的实现过程,并提供...
在Java编程语言中,集合是数据结构的一种表现形式,它允许我们存储一组对象。而循环遍历集合是Java开发中的基础操作,对于理解和熟练运用Java集合框架至关重要。本笔记将深入探讨如何使用不同类型的循环来遍历Java...
在Java编程语言中,List集合是一个重要的数据结构,...了解它们的特性和遍历方法,能够帮助我们更好地选择和使用List集合,优化程序性能。在实际开发中,要根据实际需求选择合适的数据结构,以实现高效、易维护的代码。
在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...