1:14109
2:14000
3:15141
4:14297
package com.zbalpha.test;
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 ;
}
}
分享到:
相关推荐
LinkedList则是基于双向链表实现的List,它的增删操作(尤其是首尾操作)效率高,但在随机访问时性能较差,因为需要从头或尾部开始遍历。LinkedList的`add()`方法在链表的任何位置插入元素都只需修改相邻节点的引用...
这种方式不会在原List上进行修改,而是创建了一个新的List,因此不会出现遍历中的元素位置问题。 总结一下,在C#中遍历List并删除元素时,需要注意以下几点: 1. 避免在正序遍历过程中删除元素,以免跳过某些元素。...
#### 2.2 复杂的嵌套List遍历 接下来,我们看看如何遍历嵌套的List集合。题目中给出了一段示例代码,其中包含了创建嵌套集合的过程以及如何在JSP页面中遍历它。 ```java // 创建嵌套List List<ProductProperty> ...
总结来说,C#集合对象的遍历性能取决于其内部实现,如ArrayList和List基于数组,而Dictionary基于哈希表,DataSet则代表了关系数据的处理。选择合适的集合类型,以及优化遍历策略,对于提升C#应用程序的性能至关重要...
Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历方式的实现原理和优缺点。 一、迭代器遍历 迭代器遍历是Java中最基本的集合遍历方式。迭代器是一个对象,它允许...
在IT领域,构建树形结构的数据模型是一种...总之,一次集合遍历实现树形结构是Java和Spring Boot开发中处理层级数据的一种有效方法,它既简洁又高效。理解并掌握这种技巧,对提升后端服务的性能和可维护性大有裨益。
在Java编程中,遍历List集合是常见的操作,有多种方式可以实现这一功能。下面将详细探讨三种遍历List集合的方法及其性能差异。 1. 使用`Iterator`遍历: ```java List list = new ArrayList(); // 添加元素 for ...
Java8 Stream对两个List遍历匹配数据的优化处理操作 Java8 Stream是一个功能强大的数据处理工具,它可以对数据进行处理、过滤、聚合和转换等操作。在本文中,我们将探讨如何使用Java8 Stream来对两个List进行遍历和...
二、CheckBoxList遍历 1. 遍历选定值: 当用户在CheckBoxList中做出选择后,可以通过遍历Items集合来获取选中的值。可以使用以下代码: ```csharp foreach (ListItem item in checkBoxList.Items) { if (item....
这种遍历方法是最常见的,也是最容易理解和实现的方式。 - **`fun2`函数**:该函数同样获取所有`input`类型的元素集合,但它使用了一个稍微不同的循环逻辑。这里没有使用`length`属性来确定循环结束的条件,而是检查...
在Struts2中,`iterator`标签是用于遍历集合数据的重要工具,它可以用来迭代Map、List和数组等数据结构,以便在视图层进行展示。本篇文章将深入探讨`iterator`标签在遍历这些数据类型时的具体用法。 首先,我们来看...
文件遍历是指程序通过某种方式逐个访问文件系统中的文件和目录,通常用于搜索、备份、清理等操作。在Windows、Linux和macOS等操作系统中,都有内置的API或命令行工具来实现这个功能。 2. **编程语言中的文件遍历**...
这种方式在遍历过程中会实现数据的锁定,确保了线程安全。然而,这种锁定机制也带来了一些性能损失,因为每次`hasNext()`和`next()`调用都可能涉及到同步操作。如果在遍历过程中需要移除元素,必须使用`it.remove()`...
在Java编程中,遍历List接口实现类(如ArrayList)有三种常见的方法:增强型for循环、普通for循环以及使用Iterator。本篇文章将详细探讨这三种遍历方式,并基于给出的测试代码分析它们的性能差异。 1. **增强型for...
在本文中,我们将介绍使用 Java 实现文件夹的遍历的两种方式:递归遍历和非递归遍历。 递归遍历文件夹 递归遍历文件夹是一种常见的方式,其思路是: 1. 使用 File 封装初始目录 2. 打印这个目录 3. 获取这个目录...
遍历这些控件意味着通过编程方式逐一访问并操作它们。在JavaScript或者浏览器的DOM(Document Object Model)API中,我们可以使用循环结构,如`for`或`forEach`,来实现对页面上所有元素的遍历。 例如,以下是一段...
在Java编程语言中,`Map`接口是一...总之,遍历`Map`是Java编程中常见的需求之一,掌握正确的遍历方法不仅可以提高代码的效率,还可以避免潜在的错误。希望本文的内容能帮助你更好地理解和使用Java中的`Map`遍历技巧。
遍历文件夹是指程序通过递归或循环的方式访问指定目录及其所有子目录下的文件和子目录。在不同的编程语言中,都有相应的API或库函数来支持这项功能。例如,在Python中,我们可以使用`os`和`os.path`模块,而在Java中...
在计算机科学中,数据结构是组织和管理数据的方式,它直接影响到算法的效率。图(Graph)作为一种非线性数据结构,广泛应用于网络、数据库、操作系统等众多领域。本篇文章将详细探讨图的链式存储和遍历方法。 首先...
本文将深入探讨如何利用Java编程语言,通过递归方式实现对本地目录及其子目录下的所有文件进行遍历,这将帮助开发者更好地理解和应用这一技术。 #### 一、递归遍历目录的基本原理 递归是一种自我调用的算法,通过...