首页 > 编程知识 正文

数据库排序和java中排序效率,java数组遍历的几种方法

时间:2023-05-05 08:39:19 阅读:31856 作者:52

数组结构

示例代码:

/*排列结构三种循环扫描效率的比较*

@org.junit.Test

公共语音测试13 (

列表列表=new ArrayList (100000;

for(intI=0; i1000; I ) {

list.add(I;

}

/*普通的for循环*

long a=System.currentTimeMillis (;

int size=list.size (;

for(intI=0; I

以下比较结果为大概率事件,请参考

1000数据量需要时间的结果:迭代器需要时间=for循环需要时间的常规for循环需要时间: 12--ms

增强的for循环时间:7--ms

反复器时间:6--ms

10000数据量需要时间的结果:迭代器需要时间;常规for循环需要时间: 67--ms

增强的for循环时间: 53--ms

反复器时间: 47--ms

10W数据量需要时间的结果:迭代器需要时间;常规for循环需要时间: 540--ms

增强的for循环时间: 865--ms

迭代时间: 439--ms

30W数据量需要时间的结果:迭代器需要时间=for周期需要时间的常规for周期需要时间: 1855--ms

增强的for循环时间: 1281--ms

迭代时间: 1224--ms

50W数据量需要时间的结果:迭代器需要时间=for周期需要时间的常规for周期需要时间: 2844--ms

增强的for循环时间: 2245--ms

迭代器时间: 2215--ms毫秒

100瓦数据量需要时间的结果:迭代器需要时间;常规for循环需要时间: 5149--ms

增强的for循环时间: 4785--ms

迭代时间: 4417--ms

500W的数据量需要时间,结果:这三种方式大致相同

正常的for循环需要时间: 20698--ms

增强的for循环时间: 20814--ms

迭代时间: 20963--ms

1000W数据量需要时间的结果:迭代器需要时间;常规for循环需要时间: 42957--ms

增强的for循环时间: 39645--ms

迭代时间: 39143--ms

链表结构

示例代码:

/*链表结构三种循环遍历效率的比较*

@org.junit.Test

公共语音测试14 (

链接列表列表=new linked list (;

for(intI=0; i1000000; I ) {

list.add(I;

}

/*普通的for循环*

long a=System.currentTimeMillis (;

int size=list.size (;

for(intI=0; I

以下比较结果为大概率事件,请参考

1000数据量需要时间的结果: for循环的强化需要时间=迭代程序需要时间的普通for循环需要时间: 17--ms

增强的for循环时间:5--ms

反复器时间:7--ms

10000数据量需要时间的结果:迭代器需要时间=for周期需要时间的常规for周期需要时间: 115--ms

增强的for循环时间: 50--ms

反复器时间: 43--ms

10W数据量需要时间结果:迭代器需要时间=正常for循环需要时间正常for循环需要时间: 5350--ms

增强的for循环时间: 403--ms

迭代时间: 406--ms

30W数据量需要时间的结果:强化for循环时间通常for循环时间: 54948--ms

增强的for循环时间: 1261--ms

迭代时间: 1272--ms

50W数据量需要时间的结果:迭代器需要时间=for周期需要时间的常规for周期需要时间: 327258--ms

增强的for循环时间: 1936--ms

迭代器时间: 1986--ms毫秒

总结:

对于数组结构遍历1w以下的数据量,三种遍历方式差异不大,1w以上需要根据具体数量选择合适的方式,迭代器和扩展for环路一般优于普通for环路

无论数据量如何,都建议不要使用常规的for循环来遍历链接列表结构。 常规for循环的性能太慢,迭代程序和for循环的性能没有太大差异,可以根据实际场景进行选择

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。