`

foreach,for,Iterator 比较

    博客分类:
  • JAVA
 
阅读更多
@Test
    public void testListJ8() {
        //first,genarate a  list
        List<TOJ8> list = new ArrayList<TOJ8>();
        Random r = new Random(100);
        for(int i = 0;i<100;i++){
            TOJ8 t= new TOJ8();
            t.name = "Student"+i;
            t.sorce = r.nextInt();
            list.add(t);
        }
        Long start = System.currentTimeMillis();
        list.forEach((t)->{
//            System.out.println(t.name+":"+t.sorce);
        });
        Long end = System.currentTimeMillis();
        System.out.println ("for each spent " + (end-start)+"ms");
        for(TOJ8 toj8 : list){
//            System.out.println(toj8.name+":"+toj8.sorce);
        }
        Long end1 = System.currentTimeMillis();
        System.out.println ("for spent " + (end1-end)+"ms");

        Iterator<TOJ8> it = list.iterator();
        while(it.hasNext()){
            TOJ8 t = it.next();
//            System.out.println(t.name+":"+t.sorce);
        }
        Long end2 = System.currentTimeMillis();
        System.out.println ("Iterator spent " + (end2-end1)+"ms");


    }

    class TOJ8 {
        private String name;
        private int sorce;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getSorce() {
            return sorce;
        }

        public void setSorce(int sorce) {
            this.sorce = sorce;
        }
    }

结果:
for each spent 53ms
for spent 0ms
Iterator spent 0ms
分享到:
评论

相关推荐

    for,foreach,iterator的用法和区别

    "for、foreach、iterator的用法和区别" 在 Java 编程语言中,for、foreach 和 iterator 是三种常用的遍历数组和集合的方法。它们之间有相似之处,但也存在着许多不同之处。 相同点:三者都可以用来遍历数组和集合...

    老生常谈foreach(增强for循环)和for的区别

    例如,在遍历 Map 集合时,foreach 语句可以使用 entrySet 方法来获取键值对的集合,而 for 语句可以使用 Iterator 迭代器来遍历集合。 foreach 语句和 for 语句都是 Java 编程语言中重要的循环语句,每种语句都有...

    Iterator迭代器讲解

    例如,在`ArrayList`中,使用传统的`for`循环通常比使用`Iterator`更快,而`foreach`循环则介于两者之间。然而,在`LinkedList`等其他类型的集合中,`Iterator`的性能表现可能会优于传统的循环结构。 综上所述,`...

    详解Java中的增强 for 循环 foreach

    foreach 循环实际上还是用的普通的 for 循环,对于数组来说,而对于集合来说,foreach 循环实际上是用的 iterator 迭代器迭代。 在 Java 中,foreach 循环可以用来遍历数组和集合,例如: ```java int [] array = ...

    Iterator详解

    9. **增强型for循环(foreach)**: 自Java 5引入增强型for循环后,迭代器的使用变得更加简洁。例如: ```java for (String str : list) { System.out.println(str); } ``` 这种方式在很多情况下可以替代传统...

    深入解读JavaScript中的Iterator和for-of循环

    JavaScript中的Iterator和for-of循环是ES6(ECMAScript 2015)规范中引入的重要特性。它们为遍历数据结构提供了一种更加简洁、直观且功能强大的方法。在介绍这两个概念之前,我们先来回顾一下传统的遍历方法。 在...

    PHP中for循环与foreach的区别

    `foreach`循环的一个优点是代码更简洁,但请注意,如果数组是在循环内部动态生成的,`foreach`可能会多次调用这个过程,而`for`循环只会在开始时计算数组长度。 在性能方面,如果数组长度是固定的,且不需要额外...

    java代码-生成6个1~33之间的随机整数,添加到集合,并遍历集合

    在Java中,遍历ArrayList有两种常见方式:使用迭代器和使用增强型for循环(foreach)。这里展示两者的方法: **使用迭代器:** ```java Iterator&lt;Integer&gt; iterator = randomNumbers.iterator(); while (iterator....

    php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法

    然而,当尝试遍历一个非数组或非可迭代值时,会遇到“Warning: Invalid argument supplied for foreach()”的错误。这个错误表明你试图对一个非数组类型的变量使用 `foreach` 循环,而 `foreach` 需要一个数组或实现...

    Java增强for循环中获取index

    在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...

    Java学习之Iterator(迭代器)的一般用法

    在实际开发中,我们经常看到增强型for循环(也称为foreach循环)被用于遍历集合,其实内部也是利用了迭代器的原理。增强型for循环的语法更加简洁,但它隐藏了迭代器的细节,使得代码更加易于理解和编写。 ```java ...

    13.foreach循环_java_

    在Java编程语言中,`foreach`循环,也称为增强型for循环或迭代器循环,是处理数组和集合数据的一种简洁高效的方式。这个小视频详细介绍了如何在Java中正确使用`foreach`循环,让我们深入探讨一下相关知识点。 首先...

    java for循环的几种写法

    在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或“foreach 循环”,它提供了一种更简单的方式来遍历数组和 Collection 对象。 传统的 for 循环 在遍历数组时,传统的 for 循环通常...

    js中forEach,for in,for of循环的用法示例小结

    注意,`for...of` 不适合遍历对象,因为对象的可迭代性是通过Symbol.iterator实现的,一般不会默认提供。 在选择这些循环方法时,应考虑其适用场景和性能。`forEach` 轻便且易于理解,但不提供中断循环的能力;`...

    Iterator Pattern(迭代模式)

    4. **增强for循环(foreach)**:Java的增强for循环本质上是迭代器模式的一个语法糖。 ### 源码分析 在给定的压缩包文件中,"DesignPattern.oom"可能是用UML(统一建模语言)绘制的迭代模式类图,它可以帮助我们...

    能让你成为一个优秀的 Java 全栈程序员的系统化系列教程

    for 、foreach 、iterator 三种遍历方式的比较 理解静态绑定与动态绑定 @SuppressWarnings 用法 Arrays.asList 解析 Comparable 和 Comparator的理解 并发系列: JSR-133 都解决了哪些问题 简单认识并发 看完你就...

    浅谈foreach写失效的问题

    for (Iterator&lt;Integer&gt; i = list.iterator(); i.hasNext(); ) { Integer i0 = i.next(); if (i0 == 1) { i0 = i0 * 2; } } ``` 在上面的代码中,我们使用了 Iterator 来遍历 ArrayList,並在遍历过程中修改...

    ES6新特性二:Iterator(遍历器)和for-of循环详解

    本文实例讲述了ES6新特性之Iterator(遍历器)和for-of循环。分享给大家供大家参考,具体如下: 1. 遍历数组 for-of工作原理:迭代器有一个next方法,for循环会不断调用这个iterator.next方法来获取下一个值,直到...

    angular forEach方法遍历源码解读

    如果`obj`是数组或类数组对象(例如,具有`length`属性且可以通过索引访问的任何对象),则`forEach`会使用一个常规的`for`循环,从0到`length - 1`,遍历每个元素。如果元素是原始类型(非对象),`forEach`仍然会...

Global site tag (gtag.js) - Google Analytics