java foreach 获得下表_java中foreach语句如何获取数组下标

  • Post author:
  • Post category:java


刚才去试了一下,linkedlist用传统方式遍历速度非常慢,foreach却非常快,即使是加上了一个自定义自增变量。甚至说速度比线性表用传统循环遍历更快。

public void testArrayList() {

List outList = new ArrayList<>(1000000);

Date date = new Date();

for(int i = 0; i < 1000000; i++) {

outList.add(String.valueOf(i + 1));

}

Date date1 = new Date();

System.out.println(“构建对象用时:” + (date1.getTime() – date.getTime()));

StringBuilder sb = new StringBuilder();

Calendar cal = Calendar.getInstance();

for(int i = 0; i < outList.size(); i++) {

sb.append(outList.get(i));

}

Calendar cal1 = Calendar.getInstance();

long time = cal1.getTimeInMillis() – cal.getTimeInMillis();

System.out.println(time);

}

public void testLinkedList() {

List outList = new LinkedList<>();

Date date = new Date();

for(int i = 0; i < 1000000; i++) {

outList.add(String.valueOf(i + 1));

}

Date date1 = new Date();

System.out.println(“构建对象用时:” + (date1.getTime() – date.getTime()));

StringBuilder sb = new StringBuilder();

Calendar cal = Calendar.getInstance();

for(String num : outList) {

sb.append(num);

}

Calendar cal1 = Calendar.getInstance();

long time = cal1.getTimeInMillis() – cal.getTimeInMillis();

System.out.println(time);

}

可以自行对比一下线性表和链表创建对象时间和遍历时间。



版权声明:本文为weixin_30071787原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。