Java中List集合的遍历

遍历List集合的三种方法 遍历List集合的三种方法 List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); 方法一: 超级for循环遍历 for(String attribute : list) { System.out.println(attribute); } 方法二: 对于ArrayList来说速度比较快, 用for循环, 以size为条件遍历: for(in 阅读详情

Java中List集合的遍历

原创  2015年03月05日 16:52:13
 一、对List的遍历有三种方式   
    
   List<String>    list    =    new    ArrayList<String>();   
   list.add("testone");   
   list.add(“testtwo”);   
   ...   
    
   第一种:   
   for(Iterator<String>    it    =    list.iterator();    it.hasNext();    )    {   
       ....   
   }   
   这种方式在循环
执行 过程中会进行数据锁定,    性能稍差,    同时,如果你想在寻欢过程中去掉某个元素,只能调用it.remove方法,    不能使用list.remove方法,    否则一定出现并发访问的错误.   
    
   第二种:   
   for(String   data    :    list)    {   
       .....   
   }   
   内部调用第一种,    换汤不换药,  因此比Iterator 慢,这种循环方式还有其他限制, 不建议使用它。
    
   第三种:   
   for(int    i=0;    i<list.size();    i++)    {   
       A    a    =    list.get(i);   
       ...   
   }   
   内部不锁定,    效率最高,    但是当写多线程时要考虑并发操作的问题。



二、测试实例
package com.inspur.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

/**
 *@author WHD
 *2015-3-5
 */
@SuppressWarnings("unused")
public class MapTest {
    private static List<String> list= new ArrayList<String>();
    public static void main(String[]args){
        MapTest  mapTest = new  MapTest();
        mapTest.initList(list);
        mapTest.foreach(list);
        mapTest.forlist(list);
        mapTest.iteratorList(list);
    }
    
    //list 集合中添加10万条数据
    public List initList(List<String> list){
        int i=0;
        int num=6000000;
        for(i=0;i<num;i++){
            list.add("list"+i);
        }
        return list;
    }
    //list 集合遍历 foreach
    
    public void  foreach(List<String> list){
        long start= System.currentTimeMillis();
        for(String data:list){
            String value=data;
        }
        
        long end=System.currentTimeMillis();
        long count=end-start;
        System.out.println("foreach 循环时间"+count);
    }
    // list集合遍历  for
    public void forlist(List<String> list){
        long start=System.currentTimeMillis();
        int i=0;
        for( i=0;i<list.size();i++){
            String value=list.get(i);
        }
        long end=System.currentTimeMillis();
        long count=end-start;
        System.out.println("for list.size() 遍历时间"+count);
    }
    
    // Iterator 遍历循环
    public void iteratorList(List<String> list){
        long start= System.currentTimeMillis();
        for(Iterator<String>  it=list.iterator();it.hasNext();){
            String value=it.next();
        }
        long end=System.currentTimeMillis();
        long count=end-start;
        System.out.println("iterator 遍历时间"+count);
    }

}


三、测试结果:
(1)、第一次
foreach  遍历时间:55
for list.size()遍历时间:47
iterator 遍历时间:51
(2)、第二次
foreach  遍历时间:54
for list.size()遍历时间:44
iterator 遍历时间:50
(3)、第三次
foreach  遍历时间:48
for list.size()遍历时间:43
iterator 遍历时间:44
从测试的结果我们可以明显的看到效率了!



版权声明:本文为博主原创文章,未经博主允许不得转载。
 
zjy15203167987
ma15732625261
ma15732625261
数据库原理及应用教程课后习题答案 第4版 微课版 陈志泊主编 数据库原理及应用教程 第4版 微课版 陈志泊主编 习题参考答案 阅读详情

相关推荐

别再搞混了!MATLAB通信仿真中EbN0转SNR的保姆级公式推导与避坑指南

本文深入解析MATLAB通信仿真中EbN0与SNR转换的核心公式,揭示数字仿真与理论系统的关键差异。通过真实案例展示错误参数设置导致的隐蔽问题,并提供完整的参数自查清单和正确实现代码,帮助工程师和学生避免常见错误,确保仿真结果准确可靠。

weixin_28746223的博客 348

List遍历

一、创建实体类 public class News{ private int id; private String title; private String author; public News(int id,String title,String author){ super(); this.id = id; this.title = title; this.author = author;

weixin_41769596的博客 1976

Anolis龙蜥内核升级实战:从查询到配置的全流程指南

本文提供了一份详尽的Anolis龙蜥操作系统内核升级实战指南。文章从升级的必要性出发,逐步讲解了升级前的系统检查与备份、从官方源获取正确内核包、分步安装与验证、配置默认启动项以及升级后的功能验证与安全回滚方案。旨在帮助运维人员安全、平稳地完成内核升级,以获取性能提升、新硬件支持及重要的安全漏洞修复。

qq_27496129的博客 571

java 遍历数据的三种方式

import java.util.*; public class Test{ public static void main(String[] args) { List<String> list=new ArrayList<String>(); list.add("Hello"); list.add("World"); list.add("HAHAHAHA"); //第一种遍历方法使用 For-Each 遍历 List .

resilient的博客 2505

电机控制易混知识点1-基波频率/载波频率/采样频率

在电机控制学习工作中会接触到很多专业名词,其中基波频率,载波频率,采样频率是最常接触到的,特别对于电机控制小白开说,不容易理解,现对这几个概念做下总结归纳。

新能源电机控制工程师 | 聚焦实战问题,搭建互助平台 分享电机控制代码调试、现场故障排查、算法优化中的真实困惑;开放讨论电机基础知识以及工作中遇到难点等共性难题。拒绝单向输出,只做工程师的“技术树洞”与“解忧杂货铺”! 2191

MTK平台LCD驱动开发实战:从零开始点亮你的Android屏幕

本文详细介绍了在MTK平台进行Android LCD驱动开发的完整流程。从理解LK与Kernel双核驱动框架入手,手把手讲解驱动结构体、屏幕参数配置、初始化序列编写以及PLL_CLOCK计算等核心步骤,并提供了系统集成配置与实用的调试避坑指南,帮助开发者高效点亮新屏幕。

terraform7cloud的博客 292

Java如何循环遍历List

以上这些都是常见的遍历 List 的方式,开发者可以根据具体的需求和编码习惯选择合适的方式。无论使用哪种方式,最终的遍历效果都是相同的。使用 Java 8 引入的 Stream API 可以提供更简洁的遍历方式,并支持各种流式操作。这种方式通过索引来遍历 List 中的元素,需要注意索引的范围。这是最简单直接的方式,可以遍历 List 中的每个元素。可以提供更灵活的遍历方式,比如在遍历过程中删除元素等。这种方式利用 List 自身的。方法来遍历元素,代码更加简洁。

qgqceo的博客 1619

R语言笔记十:独立性检验函数

1.独立性检验函数        独立性检验是根据频数信息判断两类因子彼此相关或相互独立的假设检验。所谓独立性就是指变量之间是独立的,没有关系。 独立性检验算法:卡方检验、Fisher检验、Cochran-Mantel-Haenszel检验 2.假设检验 假设检验(Hypothesis Testing)是数理统计学中根据一定假设条件由样本推断总体的一种方法。 原假设——没有发生 备择假设——发生了 具体做法:根据问题的需要对所研究的总体作

weixin_44384631的博客 4111

Java 中多种循环 List 的方式详解

本文将介绍 Java 中常见的几种循环 List 的方式,并对它们进行详细的讲解。选择合适的遍历方式取决于具体的需求,不同的方式有不同的适用场景。根据项目的实际情况和性能需求,选择最合适的方式,以确保代码的可读性和执行效率。Java 8 还引入了 Stream API,通过将 List 转换成流,可以使用 Stream 的强大功能进行操作,如过滤、映射等。在进行 List 的循环遍历时,建议在循环体内进行空值检查,以确保程序的稳定性。Java 8 引入的新特性,代码简洁,适用于处理逻辑较为简单的情况。

qq_28068311的博客 1765

C# Modbus通信从入门到精通(2)——Modbus RTU协议原理

本文详细的介绍了Modbus RTU协议的原理,由多年经验高级工程师实战总结而成,绝对干货!

qq_34059233的博客 6383

FreeRTOS深入教程(任务创建的深入和任务调度机制分析)

本篇文章将带大家深入学习任务的创建和分析任务调度的机制。本篇文章深入的讲解了任务创建的内部实现和任务调度的源代码分析和实现,学习这篇文章有助于更深入的学习FreeRTOS的源码。

m0_49476241的博客 6391

反向遍历list 集合 java

反向遍历 List 集合的 Java 实现 作为一名刚入行的小白,对于 Java 集合的操作可能还是觉得有些陌生,特别是如何反向遍历一个 List(例如 ArrayList 或 LinkedList)。本文将详细介绍如何实现反向遍历 List 集合的过程,通过步骤和代码示例帮助你理解每一步。 流程总览 下面是反向遍历 Li...

weixin_29887801的博客 422

03 Token、Embedding、上下文窗口:开发者必须懂的三个基本概念

Token、Embedding 和上下文窗口是大模型应用开发的三个基础概念。本文从成本、速度、检索和上下文设计四个角度讲清它们的工程意义,帮助开发者理解为什么同一段内容会超限、变贵,为什么 RAG 能做语义检索。

老于的笔记的专栏 407

Java遍历List集合for循环,foreach,迭代器的区别

遍历List集合的三种方式 List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的遍历集合方法就可以大大提高我们开发的效率,适当使用各种方法才会使我们开发事半功倍。   我总结了三种List集合的遍历方式,下面一一来介绍。 首先创建一个集合 ArrayList<String> names = new ArrayList<String>(); ...

weixin_45376741的博客 7417

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java的list遍历_【java】list集合遍历的5种方式

平凡也就两个字: 懒和惰;成功也就两个字: 苦和勤;优秀也就两个字: 你和我。跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美!关注微信公众号【IT特靠谱】,每天都会分享技术心得~【java】list集合遍历的5种方式List集合在Java日常开发中是非常常见的,快速选择合适的遍历方式能极大提高我们的开发效率。下面我总结了五种List集合的...

weixin_42399078的博客 3142

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java中list遍历_Java中List集合的三种遍历方式(全网最详)

介绍3种方式遍历list集合1 创建一个modelpublic class News{private int id;private String title;private String author;public News(int id, String title, String author) {super();this.id = id;this.title = title;this.auth...

weixin_42522167的博客 1337

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java中遍历集合的方法(List集合、Set集合和Map集合)

一、遍历List集合(三种方式) List<String> list = new ArrayList<>(); list.add("Tom"); list.add("Jack"); list.add("Jerry"); //1、传统for循环遍历 for (int i = 0;...

IT_Helianthus的博客 2092

【Java】List集合遍历的五种方法

🎊专栏【Java】🌺每日一句:人生最重要的就是要清醒的认知。

2301_80760873的博客 7209

java list遍历添加元素_Java List集合方法及遍历过程代码解析

集合元素框架public class ListDemo02 {public static void main(String[] args) {//创建集合对象List list = new ArrayList();//添加元素list.add("hello");list.add("world");list.add("java");//输出集合对象System.out.println(list); ...

weixin_42116604的博客 1343

Java中List集合的四种常见遍历方法

List集合的四种遍历方式 为了便于理解,直接上代码,首先定义一个学生类,手动创建四个学生对象,并添加到list集合中: public class TestList { public static void main(String[] args) { List studentList = new ArrayList(); Student s1 = new Student(“zhangsan”, 31); Student s2 = new Student(“lisi”, 32); Student s3 = n

weixin_52358523的博客 723

java遍历list对象集合_java中对集合对象list的几种循环访问总结

展开全部List一共有三种遍32313133353236313431303231363533e58685e5aeb931333365666139历方法,如下:importjava.util.ArrayList;importjava.util.Iterator;importjava.util.List;publicclassMain{publicstaticvoidmain(Str...

weixin_39584571的博客 1268

Java集合框架——List集合的遍历

Java集合框架——List集合的遍历

kingdom_C的博客 327

Java的List集合三种遍历方式

本文转载自:https://www.cnblogs.com/oablog/p/7044193.html 作者:oablog 转载请注明该声明。  List集合在Java日常开发中是必不可少的,要懂得运用各种各样的方法可以大大提高我们开发的效率,当然是要在对应的需求上使用合适的方法才会事半功倍。   List集合:     List<Example> exampleList = n...

zhengxiuchen86的博客 208

Java遍历List集合的4种方式

public class Test { public static void main(String[] args) { // 循环遍历List的4中方法 List<String> strList = new ArrayList<>(); strList.add("aaa"); strList.ad...

a754315344的博客 1165

java listmap遍历_Java遍历List、Map的集合方法

使用JDK8新特性,for循环增强,Iterator,while做遍历List集合public static void main(String[] args) {List list = new ArrayList<>();list.add("test1x");list.add("test2x");list.add("test3x");System.out.println(list);S...

weixin_28767599的博客 302

java中List集合的几种遍历方式

【代码】java中List集合的几种遍历方式。

m0_54185237的博客 7623
上一篇: java 遍历arrayList的四种方法及其效率对比
下一篇: Josh Bloch
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值