java使用ArrayList遍历及效率比较实例分析

本文实例讲述了java使用ArrayList遍历及效率比较。分享给大家供大家参考。具体如下:

ArrayList arrL = new ArrayList();
ArrayList arrLTmp1 = new ArrayList();
ArrayList arrLTmp2 = new ArrayList();
ArrayList arrLTmp3 = new ArrayList();
ArrayList arrLTmp4 = new ArrayList();
for (int i=0;i<1000000;i++){
  arrL.add("第"+i+"个");
}
long t1 = System.nanoTime();
//方法1
Iterator it = arrL.iterator();
while(it.hasNext()){
  arrLTmp1.add(it.next());
}
long t2 = System.nanoTime();
//方法2
for(Iterator it2 = arrL.iterator();it2.hasNext();){
  arrLTmp2.add(it2.next());
}
long t3 = System.nanoTime();
//方法3
for (String vv :arrL){
  arrLTmp3.add(vv);
}
long t4 = System.nanoTime();
//方法4
for(int i=0;i
  arrLTmp4.add(arrL.get(i));
}
long t5 = System.nanoTime();
System.out.println("第一种方法耗时:" + (t2-t1)/1000 + "微秒");
System.out.println("第二种方法耗时:" + (t3-t2)/1000 + "微秒");
System.out.println("第三种方法耗时:" + (t4-t3)/1000 + "微秒");
System.out.println("第四种方法耗时:" + (t5-t4)/1000 + "微秒");

输出结果:

第一种方法耗时:143069微秒
第二种方法耗时:381666微秒
第三种方法耗时:125909微秒
第四种方法耗时:63693微秒

把上述1000000改为10,输出结果为:

第一种方法耗时:307微秒
第二种方法耗时:14微秒
第三种方法耗时:14微秒
第四种方法耗时:14微秒

希望本文所述对大家的java程序设计有所帮助。

(0)

相关推荐

  • java arrayList遍历的四种方法及Java中ArrayList类的用法

    java arrayList遍历的四种方法及Java中ArrayList类的用法 package com.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ArrayListDemo { public static void main(String args[]){ List<String> list = new ArrayList<String

  • Java中List与Map初始化的一些写法分享

    Java的在还没有发现新写法之前时,我一直是这么初始化List跟Map: 复制代码 代码如下: //初始化List    List<string> list = new ArrayList</string><string>();    list.add("www.jb51.net");    list.add("string2");    //some other list.add() code......    list.add

  • Java Map的几种循环方式总结

    根据JDK的新特性,用For循环Map,例如循环Map的Key Java代码 复制代码 代码如下: for(String dataKey : paraMap.keySet())    {        System.out.println(dataKey );               } 这里要注意的是,paraMap是怎么样定义的,如果是简单的Map paraMap = new HashMap();那前面的String就只能换成Object了. 对整Map的key和value都进行循环,如

  • Java集合Set、List、Map的遍历方法

    本文实例讲述了Java集合Set.List.Map的遍历方法,分享给大家供大家参考. 具体方法如下: package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.uti

  • java中数组list map三者之间的互转介绍

    三者之间转换关系,一张图清晰呈现.  上代码: 其中的maputils是apache的collection包. 复制代码 代码如下: package util; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.collections.MapUtil

  • Java如何在List或Map遍历过程中删除元素

    遍历删除List或Map中的元素有很多种方法,当运用不当的时候就会产生问题.下面通过这篇文章来再学习学习吧. 一.List遍历过程中删除元素 使用索引下标遍历的方式 示例:删除列表中的2 public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(2); list.add(3); list.add(

  • java中关于Map的三种遍历方法详解

    map的三种遍历方法!集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 复制代码 代码如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */package cn.tsp2c.liubao;import java.util.Collection;import java.util.HashMap;import java.util

  • java中List集合及其遍历详解

    1. 首先List<E>集合继承与Collection<E>,是一个接口. ①  Collection (集合框架是JDK1.2版本出现的) ②   list:是有序的,元素可以重复,以为该集合体系有索引.    经常用到的是实现该接口的ArrayList和LinkedList类 ③   Arraylist:  底层的数据结构使用的是数组结构, 特点: 查询速度很快,但是增删稍慢.线程不同步 LinkedList: 底层使用的是链表数据结构. 特点: 增删速度很快,查询稍慢. Ve

  • java如何对map进行排序详解(map集合的使用)

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排序之前,我们先来稍微了解下map.map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等.其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接

  • java中循环遍历删除List和Set集合中元素的方法(推荐)

    今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常: ConcurrentModificationException 为了以后不忘记,使用烂笔头把它记录如下: 错误代码的写法,也就是报出上面异常的写法: Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks(); for(CheckWork checkWork : set){ if(checkWor

随机推荐