@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的用法和区别" 在 Java 编程语言中,for、foreach 和 iterator 是三种常用的遍历数组和集合的方法。它们之间有相似之处,但也存在着许多不同之处。 相同点:三者都可以用来遍历数组和集合...
例如,在遍历 Map 集合时,foreach 语句可以使用 entrySet 方法来获取键值对的集合,而 for 语句可以使用 Iterator 迭代器来遍历集合。 foreach 语句和 for 语句都是 Java 编程语言中重要的循环语句,每种语句都有...
例如,在`ArrayList`中,使用传统的`for`循环通常比使用`Iterator`更快,而`foreach`循环则介于两者之间。然而,在`LinkedList`等其他类型的集合中,`Iterator`的性能表现可能会优于传统的循环结构。 综上所述,`...
foreach 循环实际上还是用的普通的 for 循环,对于数组来说,而对于集合来说,foreach 循环实际上是用的 iterator 迭代器迭代。 在 Java 中,foreach 循环可以用来遍历数组和集合,例如: ```java int [] array = ...
9. **增强型for循环(foreach)**: 自Java 5引入增强型for循环后,迭代器的使用变得更加简洁。例如: ```java for (String str : list) { System.out.println(str); } ``` 这种方式在很多情况下可以替代传统...
JavaScript中的Iterator和for-of循环是ES6(ECMAScript 2015)规范中引入的重要特性。它们为遍历数据结构提供了一种更加简洁、直观且功能强大的方法。在介绍这两个概念之前,我们先来回顾一下传统的遍历方法。 在...
`foreach`循环的一个优点是代码更简洁,但请注意,如果数组是在循环内部动态生成的,`foreach`可能会多次调用这个过程,而`for`循环只会在开始时计算数组长度。 在性能方面,如果数组长度是固定的,且不需要额外...
在Java中,遍历ArrayList有两种常见方式:使用迭代器和使用增强型for循环(foreach)。这里展示两者的方法: **使用迭代器:** ```java Iterator<Integer> iterator = randomNumbers.iterator(); while (iterator....
然而,当尝试遍历一个非数组或非可迭代值时,会遇到“Warning: Invalid argument supplied for foreach()”的错误。这个错误表明你试图对一个非数组类型的变量使用 `foreach` 循环,而 `foreach` 需要一个数组或实现...
在Java编程语言中,增强的for循环(也称为foreach循环)是Java 5引入的一个重要特性,它简化了数组和集合的迭代。然而,增强for循环本身并不直接提供索引访问,这与传统的for循环不同。传统for循环可以让我们通过...
在实际开发中,我们经常看到增强型for循环(也称为foreach循环)被用于遍历集合,其实内部也是利用了迭代器的原理。增强型for循环的语法更加简洁,但它隐藏了迭代器的细节,使得代码更加易于理解和编写。 ```java ...
在Java编程语言中,`foreach`循环,也称为增强型for循环或迭代器循环,是处理数组和集合数据的一种简洁高效的方式。这个小视频详细介绍了如何在Java中正确使用`foreach`循环,让我们深入探讨一下相关知识点。 首先...
在 J2SE 1.5 中,Java 引入了一种新的 for 循环语法,称为“增强的 for 循环”或“foreach 循环”,它提供了一种更简单的方式来遍历数组和 Collection 对象。 传统的 for 循环 在遍历数组时,传统的 for 循环通常...
注意,`for...of` 不适合遍历对象,因为对象的可迭代性是通过Symbol.iterator实现的,一般不会默认提供。 在选择这些循环方法时,应考虑其适用场景和性能。`forEach` 轻便且易于理解,但不提供中断循环的能力;`...
4. **增强for循环(foreach)**:Java的增强for循环本质上是迭代器模式的一个语法糖。 ### 源码分析 在给定的压缩包文件中,"DesignPattern.oom"可能是用UML(统一建模语言)绘制的迭代模式类图,它可以帮助我们...
for 、foreach 、iterator 三种遍历方式的比较 理解静态绑定与动态绑定 @SuppressWarnings 用法 Arrays.asList 解析 Comparable 和 Comparator的理解 并发系列: JSR-133 都解决了哪些问题 简单认识并发 看完你就...
for (Iterator<Integer> i = list.iterator(); i.hasNext(); ) { Integer i0 = i.next(); if (i0 == 1) { i0 = i0 * 2; } } ``` 在上面的代码中,我们使用了 Iterator 来遍历 ArrayList,並在遍历过程中修改...
本文实例讲述了ES6新特性之Iterator(遍历器)和for-of循环。分享给大家供大家参考,具体如下: 1. 遍历数组 for-of工作原理:迭代器有一个next方法,for循环会不断调用这个iterator.next方法来获取下一个值,直到...
如果`obj`是数组或类数组对象(例如,具有`length`属性且可以通过索引访问的任何对象),则`forEach`会使用一个常规的`for`循环,从0到`length - 1`,遍历每个元素。如果元素是原始类型(非对象),`forEach`仍然会...