关于数组的遍历

转载 2011年01月12日 08:54:00

对于数组的遍历以前一直是使用递增的方式进行的,如for(int i=0;i<args.length;i++);但是今天看了一篇文章,上面说,使用递减的方式进行遍历数组效率更高,并且给出了一段代码作为测试,代码如下:

 

代码
public static void main(String args[]) {
int something = 2;
long startTime = System.currentTimeMillis();
for (int i = 0, n = Integer.MAX_VALUE; i < n; i++) {
something
= -something;
}
long midTime = System.currentTimeMillis();
for (int i = Integer.MAX_VALUE - 1; i >= 0; i--) {
something
= -something;
}
long endTime = System.currentTimeMillis();
System.out.println(
"Increasing Delta: " + (midTime - startTime));
System.out.println(
"Decreasing Delta: " + (endTime - midTime));
}

使用递减的方式遍历,比使用递增的方式遍历数组,快了1/3的时间。

(注:这个效率的提升在1.3版本以后的jdk里面才能显著表现出来)

 

这个效率的提升主要是节省了查询数组长度(args.length)的时间,实际上在大规模的数组遍历中,args.length会消耗很多的时间。

C++11 range for 遍历多维数组, 迭代变量添加引用 "&"的问题

问题背景        auto 是 C++ 11 扩展的新特性,用于自动类型推导。不过,如果你希望推导出的类型为引用(&),就要手动在变量名前加 '&';如果你还需要变量是常量的话,也要手动加入 '...
  • Ace_Yom
  • Ace_Yom
  • 2015年10月08日 09:29
  • 1550

AngularJS遍历数组

AngularJS 模块化 姓名 性别 年龄 {{star.name}} {{star.sex}} ...
  • gyq04551
  • gyq04551
  • 2017年02月17日 08:38
  • 2807

jquery遍历json与数组方法总结each()

在jquery中遍历数组或json数组我们使用最多的方法是each这个函数了或使用foreach,for也是可以实现的,下面我来给大家详细介绍jquery遍历json与数组实现。 代码如下复制代码 先...
  • agonie201218
  • agonie201218
  • 2015年05月16日 16:27
  • 5006

二维数组遍历

  • 2014年12月12日 10:11
  • 16KB
  • 下载

如何使用asp遍历数组 实现单用户多密码登陆

  • 2009年11月27日 16:48
  • 11KB
  • 下载

php数组遍历的类

  • 2016年07月01日 10:21
  • 652B
  • 下载

javascrip:遍历文件填充数组

  • 2010年04月03日 13:50
  • 763B
  • 下载

模拟数组的顺序遍历

  • 2017年07月29日 09:51
  • 1KB
  • 下载

02-Java基础(数组-常见操作-遍历

  • 2016年04月28日 13:22
  • 7.72MB
  • 下载

C#数组遍历

  • 2013年10月13日 12:50
  • 26KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于数组的遍历
举报原因:
原因补充:

(最多只允许输入30个字)