java foreach与for速度比较
来源:互联网 发布:网络篮球游戏 编辑:程序博客网 时间:2024/05/23 23:47
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/***
* jdk1.7
* @date 2017年5月26日 下午6:05:49
*
*
*/
public class TestForEach {
public static void main(String[] args) {
test1();
test1();
test1();
test1();
}
/**ArrayList时for更快,linkedlist时foreach更快*/
public static void test1(){
System.out.println("-------------------");
List<A> list=new ArrayList<A>();
// 20000
// end1:1
// 20000
// end2:0
// List<A> list=new LinkedList<>();
// 20000
// end1:0
// 20000
// end2:151
int size=10000000;
for (int i = 0; i < size; i++) {
list.add(new A());
}
// for (int i = 0; i < size; i++) {
// list.add(NULL);
// }
for (int i = 0; i < size; i++) {
list.add(null);
}
System.out.println(list.size());
A temp=null;
long start=System.currentTimeMillis();
int num1=0;
for (A object : list) {
temp=object;
num1++;
}
// System.out.println("\n----------------");
long end1=System.currentTimeMillis();
System.out.println("end1:"+(end1-start));
end1=System.currentTimeMillis();
int num2=0;
for (int i = 0; i < list.size(); i++) {
temp=list.get(i);
num2++;
}
// System.out.println("\n----------------");
long end2=System.currentTimeMillis();
System.out.println(list.size());
// System.out.println(":"+end2+","+end1+","+start);
// System.out.println(end1-start);
System.out.println("end2:"+(end2-end1));
// System.out.println(num1);
// System.out.println(num2);
}
}
class A{
public A(){
}
import java.util.LinkedList;
import java.util.List;
/***
* jdk1.7
* @date 2017年5月26日 下午6:05:49
*
*
*/
public class TestForEach {
public static void main(String[] args) {
test1();
test1();
test1();
test1();
}
/**ArrayList时for更快,linkedlist时foreach更快*/
public static void test1(){
System.out.println("-------------------");
List<A> list=new ArrayList<A>();
// 20000
// end1:1
// 20000
// end2:0
// List<A> list=new LinkedList<>();
// 20000
// end1:0
// 20000
// end2:151
int size=10000000;
for (int i = 0; i < size; i++) {
list.add(new A());
}
// for (int i = 0; i < size; i++) {
// list.add(NULL);
// }
for (int i = 0; i < size; i++) {
list.add(null);
}
System.out.println(list.size());
A temp=null;
long start=System.currentTimeMillis();
int num1=0;
for (A object : list) {
temp=object;
num1++;
}
// System.out.println("\n----------------");
long end1=System.currentTimeMillis();
System.out.println("end1:"+(end1-start));
end1=System.currentTimeMillis();
int num2=0;
for (int i = 0; i < list.size(); i++) {
temp=list.get(i);
num2++;
}
// System.out.println("\n----------------");
long end2=System.currentTimeMillis();
System.out.println(list.size());
// System.out.println(":"+end2+","+end1+","+start);
// System.out.println(end1-start);
System.out.println("end2:"+(end2-end1));
// System.out.println(num1);
// System.out.println(num2);
}
}
class A{
public A(){
}
}
阅读全文
0 0
- java foreach与for速度比较
- Java基础-foreach循环与for循环比较
- foreach与for的性能比较
- for循环与foreach性能比较
- java基础复习四:for与foreach的循环性能比较
- Java中for与foreach区别
- java foreach 与 js for/in
- java foreach 与 js for/in
- java foreach与for遍历效率对比
- java中for与foreach的区别?
- 关于C#中for与foreach的性能比较测试
- .net中for与foreach的比较及使用。
- C#中 for与foreach的效率比较
- Java for循环和foreach循环的性能比较
- java for/foreach/while 3种循环性能比较
- Java for循环和foreach循环的性能比较
- For 和 Foreach 的比较
- for和foreach性能比较
- React-Native Redux的基本使用方式
- Android 属性(attr)引用
- 排序之快速排序
- NOI2017退役记
- caffe框架研究(一)
- java foreach与for速度比较
- 红黑树C++实现
- 排序之归并排序
- java小算法—判断一个数是否为质数
- Git 使用规范流程
- 最强lvs总结
- c语言学习笔记-控制流-郝斌老师讲解
- 迷茫时的感想
- Http服务器实现文件上传与下载(五)