首页 > 基础教程 > 集合框架 > ArrayList类

Java ArrayList遍历的3种方法

1. Iterator方法遍历

for(Iterator it2 = list.iterator();it2.hasNext();){

System.out.println(it2.next());

}

2. for 第一种循环方式遍历

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

System.out.println(list.get(i));

}

3. for 第二种循环方式遍历

for(String tmp:list){

System.out.println(tmp);

}

实例

public class ListTest {

public static void main(String[] args)

{

List list = new ArrayList();

long start = 0L;

long end = 0L;

for(int j = 0; j < 1000000; j++)

{

list.add("aaaaaa" + j);

}

start = System.currentTimeMillis();

for(String tmp:list)

{

}

end = System.currentTimeMillis();

System.out.print("第一种方法运行时间:" + (end - start) + "(毫秒)\n");

start = System.currentTimeMillis();

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

{

list.get(i);

}

end = System.currentTimeMillis();

System.out.print("第二种方法运行时间:" + (end - start) + "(毫秒)\n");

Iterator iter = list.iterator();

start = System.currentTimeMillis();

while(iter.hasNext())

{

iter.next();

}

end = System.currentTimeMillis();

System.out.print("第三种方法运行时间:" + (end - start) + "(毫秒)\n");

}

}

执行的结果:

第一种方法运行时间:14(毫秒)

第二种方法运行时间:4(毫秒)

第三种方法运行时间:5(毫秒)

总结

1. 方式1,3看着比较简洁,但是性能较差,这种方式在循环的过程中,会进行数据锁定,性能较差。

2. 第二种方式,循环过程中数据不锁定,效率高,但是多线程的时候需要考虑并发操作的问题.

3. 第一种方式比第三钟方式还要多一些处理,所以时间更久。

因此推荐用第二种

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

java 遍历方法_Java ArrayList遍历的3种方法相关推荐

  1. java string分割_java 字符串分割的三种方法(总结)

    最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似String str="aaa,bbb,ccc"; 然后以","为分割符,将其分割成一个数组,用什么方 ...

  2. java 数组效率_java数组复制的四种方法效率对比

    有关数组的基础知识,有很多方面,比方说初始化,引用,遍历,以及一维数组和二维数组,今天我们先看看数组复制的有关内容. 来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? ...

  3. java随机数转换_Java获取随机数的3种方法(转)

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

  4. java 反射 找不到方法_Java获取反射的三种方法

    class Student { private int id; String name; protected boolean sex ; pub1ic f1oat score; } pub1ic cl ...

  5. java se 定时任务_Java实现定时任务的三种方法

    一.Quartz的特点 按作业类的继承方式来分,主要有以下两种: 作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式作业类不继承o ...

  6. java 生成随机数_Java 生成随机数的 N 种方法

    原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...

  7. java hashmap 去重_java数组去重的两种方法

    我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题.当我们想要不重复元素的数组时,就要再进行一步去重的工作.数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet ...

  8. java 计算时差_java计算时间差的几种方法

    用JAVA计算日期,时间差的几种方法 1. 手工计算 2.采用一个三方的jar包(Joda time library) 3. 利用TimeUnit类(java.util.concurrent 包中) ...

  9. java生成随机数的方法_Java获取随机数的3种方法

    随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...

最新文章

  1. python之vscode中手动选择python解释器(mac)
  2. java中 菜单的触发事件_javaweb ajax+div实现左边菜单右边内容时点击菜单应该触发事件但是右边没反应...
  3. 利用CSS让元素垂直居中的两种实现方法
  4. mac部署文件服务器,MAC 搭建本地服务器
  5. SAP CRM和Cloud for Customer的organization unit
  6. [vue] vue性能的优化的方法有哪些?
  7. javascript小游戏_个人网站集成js小游戏《圈小猫》教程及源码
  8. java spring mvc json ajax 优势_SpringMVC后台json数据前台ajax获取不到!!!急求解答!!!...
  9. nginx proxy_cache缓存详解
  10. 改变centos系统的时区
  11. java基础相关面试题
  12. python处理中文编码问题总结
  13. (第8天) 什么是Mybatis缓存(Cache)
  14. P3924 康娜的线段树
  15. 推荐系列:2008年第05期 总7期
  16. SIM868硬件设计学习(一)
  17. 基于机器学习的DGA域名检测
  18. elementui下载到本地
  19. [源码和文档分享]基于C语言实现的汽车牌照的快速查询
  20. NoticeBar 通知栏组件,封装好的可直接使用

热门文章

  1. 用百度SDK获取地理位置和天气信息
  2. Django 流式响应中文csv样例
  3. php 发送邮件乱码
  4. 平正真诚——记红帆公司2011年秋季旅游·衡山
  5. 构建DHCP及中继服务器
  6. CentOS系统更换软件安装源yum
  7. Linux命令之乐--expr
  8. wordpress搭建构架笔记
  9. gson 的简单使用
  10. 采用NAND Flash设计存储设备的挑战在哪里?