遍历元素最常见的三种方法:

// 1.最普通的一种方式

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

//2.for each方式

for(BEAN b: BEANLIST)

//3.迭代器

Iterator iterator = BEANLIST.iterator();

while (iterator.hasNext()) {

iterator.next();

}

平时用的最多的也是最方便的一种,第二种方式,在动态添加或者删除元素的时候抛出异常。原因是在动态添加或删除的时候改变了数组的大小,而第二种方式用的迭代器方式的遍历方法没有做相应的处理。所以

当我们在遍历的时候需要动态删除元素的时候可以用第三种方法,删除元素用迭代器的remove();方法去删除元素。

但是迭代器只能对数组执行删除元素的操作,当我们有边遍历边添加元素的需求时该怎么办呢。

答案是第一种了,第一种虽然很原始,但其实很灵活,在遍历的时候我们可以通过不断的改变size参数的值来实现动态的添加元素。

也就是说当有元素插入的时候,size值加上新插入元素的个数。当for循环走完循环体后会判断i是否小于size,满足条件则再执行循环体,否则退出,当我们在循环体里改变size值的大小,到了判断的是否继续循环的时候刚好能够用上。

---------------------

作者:natural_

来源:CSDN

原文:https://blog.csdn.net/a975261294/article/details/79180065

版权声明:本文为博主原创文章,转载请附上博文链接!

java list遍历添加元素_【转】:java遍历List时动态添加和删除元素相关推荐

  1. 达内java面试题集_达内java面试题

    JAVA面试题-COREJAVA部分1.在main(String[] args)方法内是否可以调用一个非静态方法?答案:不能2.同一个文件里是否可以有两个public类?答案:不能3.方法名是否可以与 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java list遍历添加元素_java遍历List过程中添加和删除元素的问题

    遍历元素最常见的三种方法: //第三种遍历[利用迭代器] private static void loopList3(List strList) { Iterator itr = strList.it ...

  4. Java——遍历List过程中添加和删除元素的问题(亲测第二种)

    遍历元素最常见的三种方法: //第三种遍历[利用迭代器]     private static void loopList3(List<String> strList) {         ...

  5. java function获取参数_「Java容器」ArrayList源码,大厂面试必问

    ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...

  6. java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口

    今天要说的是Collection族长下的三名大将之一,List,Set,Queue中的List,它们都继承自Collection接口,所以Collection接口的所有操作,它们自然也是有的. Lis ...

  7. java xml dom4j 解析_在JAVA中怎么用DOM和DOM4j解析XML啊?

    二.XML文件 三.开始解析 public class JDOMTest { public static void main(String[] args) { // 进行对books.xml文件的JD ...

  8. java语言 编译原理_【Java学习】深入分析Java的编译原理

    在<Java代码的编译与反编译>中,有过关于Java语言的编译和反编译的介绍.我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件.这是我们通常 ...

  9. java 中间容器 表格_【JAVA SE基础篇】45.迭代器、Collections工具类以及使用容器存储表格...

    本文将要为您介绍的是[JAVA SE基础篇]45.迭代器.Collections工具类以及使用容器存储表格,具体完成步骤: 1.迭代器 迭代器为我们提供了统一遍历容器(List/Map/Set)的方式 ...

最新文章

  1. 细说JVM的数据类型、堆与栈
  2. 初等数论--原根--怎么判断a是不是模m的原根
  3. boost::type_erasure模块实现了支持多个签名的 Boost.Function 扩展
  4. the Open Source Community
  5. android java判断字符串是否为空和是否是手机号和是否是数字,数字转中文
  6. java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
  7. 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
  8. zabbix-server添加了网络设备模板导致boot.log占满根目录不能ssh登陆
  9. Futter基础第16篇: 实现单行文本框、多选框
  10. spring data jpa 查询部分字段列名无效问题
  11. pythonqt项目_Qt项目之高亮关键字Python编辑器实现
  12. android隐式广播和显式广播是什么,在Android8.0上突破隐式广播的限制
  13. 阿帕奇,StringUtil工具类,各种常用字符串的处理
  14. Android基础入门教程——4.4.2 ContentProvider再探——Ducument Provider
  15. 10 年工作经验的求职经历
  16. arduino闪烁LED灯
  17. xcode快捷方式 一 快速找到对应文件
  18. 松下MINAS-A6伺服电机调试记录
  19. 偏财入财库大富_偏财入库无人不富是什么意思
  20. 商品库存推送至外部系统API接口文档

热门文章

  1. QQ好友——功能:“在线对其隐身”和“隐身对其可见”
  2. 2021年安全员-B证(广西省)报名考试及安全员-B证(广西省)考试APP
  3. linux ss 软件,Linux ss 命令详解
  4. 勇士屠熊,绿军射鹿,夕阳西下,人群散尽,唯有烈火燎原势不可挡
  5. DAZ3D STUDIO 的Strand-Based Hair 教程
  6. Android开发中 Cause: couldn‘t make a guess for错误
  7. 作为新手玩抖音要注意什么?怎样才能做一个能赚钱的抖音号?
  8. 快来带您了解低轨移动卫星通信的发展意义
  9. mysql REPLACE()函数替换包含反斜杆字段的问题
  10. 怎么把手机游戏隐藏在计算机里,我把程序中的游戏隐藏了,怎么找到并恢复?...