打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
for foreach iterator 的遍历效率

import java.util.*;
public class TestThreeListout {
 //private static final int COUNT=50;
 private static List<Person> persons=new ArrayList<Person>();
 public static void init(int param){
  Person person=null;
  for(int i=0;i<param;i++){
   person=new Person(i,"蓝色"+i,i+"");
   persons.add(person);
  }
 }
 public static long testIterator(){
  long start=System.nanoTime();
  Person person=null;
  for(Iterator<Person> iterator=persons.iterator();iterator.hasNext();){
   person=(Person)iterator.next();
  }
  long end=System.nanoTime();
  return (end-start)/(1000);
 }
 public static long testForEach(){
  long start=System.nanoTime();
  Person person=null;
  for(Person p:persons){
   person=p;
  }
  long end=System.nanoTime();
  return (end-start)/(1000);
 }
 public static long testFor(){
  long start =System.nanoTime();
  Person person=null;
  for(int i=0;i<persons.size();i++){
   person=persons.get(i);
  }
  long end=System.nanoTime();
  return (end-start)/(1000);
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int count=15;
  init(count);
  System.out.println("遍历次数"+count);
  System.out.println("Iterator迭代遍历的消耗时间:"+testIterator());
  System.out.println("ForEach遍历的消耗时间:"+testForEach());
  System.out.println("for遍历的消耗时间:"+testFor());
   count=115;
  init(count);
  System.out.println("遍历次数"+count);
  System.out.println("Iterator迭代遍历的消耗时间:"+testIterator());
  System.out.println("ForEach遍历的消耗时间:"+testForEach());
  System.out.println("for遍历的消耗时间:"+testFor());
   count=1115;
  init(count);
  System.out.println("遍历次数"+count);
  System.out.println("Iterator迭代遍历的消耗时间:"+testIterator());
  System.out.println("ForEach遍历的消耗时间:"+testForEach());
  System.out.println("for遍历的消耗时间:"+testFor());
   count=11115;
  init(count);
  System.out.println("遍历次数"+count);
  System.out.println("Iterator迭代遍历的消耗时间:"+testIterator());
  System.out.println("ForEach遍历的消耗时间:"+testForEach());
  System.out.println("for遍历的消耗时间:"+testFor());
   count=111115;
   init(count);
   System.out.println("遍历次数"+count);
   System.out.println("Iterator迭代遍历的消耗时间:"+testIterator());
   System.out.println("ForEach遍历的消耗时间:"+testForEach());
   System.out.println("for遍历的消耗时间:"+testFor());
 }

}

​输出结果:
​遍历次数15
Iterator迭代遍历的消耗时间:134
ForEach遍历的消耗时间:3
for遍历的消耗时间:5
遍历次数115
Iterator迭代遍历的消耗时间:34
ForEach遍历的消耗时间:36
for遍历的消耗时间:20
遍历次数1115
Iterator迭代遍历的消耗时间:223
ForEach遍历的消耗时间:175
for遍历的消耗时间:100
遍历次数11115
Iterator迭代遍历的消耗时间:5516
ForEach遍历的消耗时间:2259
for遍历的消耗时间:1045
遍历次数111115
Iterator迭代遍历的消耗时间:8594
ForEach遍历的消耗时间:7955
for遍历的消耗时间:7046
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
jdk1.5新特性(三)-- for循环增强
ArrayList存储自定义对象并遍历。要求加入泛型,并用增强for遍历。
遍历List集合的三种方法
Java8中Map的遍历方式总结
竟然有一半的人不知道 for 与 foreach 的区别???
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服