java list遍历添加元素_【转】:java遍历List时动态添加和删除元素
遍历元素最常见的三种方法:
// 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时动态添加和删除元素相关推荐
- 达内java面试题集_达内java面试题
JAVA面试题-COREJAVA部分1.在main(String[] args)方法内是否可以调用一个非静态方法?答案:不能2.同一个文件里是否可以有两个public类?答案:不能3.方法名是否可以与 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java list遍历添加元素_java遍历List过程中添加和删除元素的问题
遍历元素最常见的三种方法: //第三种遍历[利用迭代器] private static void loopList3(List strList) { Iterator itr = strList.it ...
- Java——遍历List过程中添加和删除元素的问题(亲测第二种)
遍历元素最常见的三种方法: //第三种遍历[利用迭代器] private static void loopList3(List<String> strList) { ...
- java function获取参数_「Java容器」ArrayList源码,大厂面试必问
ArrayList简介 ArrayList核心源码 ArrayList源码分析 System.arraycopy()和Arrays.copyOf()方法 两者联系与区别 ArrayList核心扩容技术 ...
- java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口
今天要说的是Collection族长下的三名大将之一,List,Set,Queue中的List,它们都继承自Collection接口,所以Collection接口的所有操作,它们自然也是有的. Lis ...
- java xml dom4j 解析_在JAVA中怎么用DOM和DOM4j解析XML啊?
二.XML文件 三.开始解析 public class JDOMTest { public static void main(String[] args) { // 进行对books.xml文件的JD ...
- java语言 编译原理_【Java学习】深入分析Java的编译原理
在<Java代码的编译与反编译>中,有过关于Java语言的编译和反编译的介绍.我们可以通过javac命令将Java程序的源代码编译成Java字节码,即我们常说的class文件.这是我们通常 ...
- java 中间容器 表格_【JAVA SE基础篇】45.迭代器、Collections工具类以及使用容器存储表格...
本文将要为您介绍的是[JAVA SE基础篇]45.迭代器.Collections工具类以及使用容器存储表格,具体完成步骤: 1.迭代器 迭代器为我们提供了统一遍历容器(List/Map/Set)的方式 ...
最新文章
- 细说JVM的数据类型、堆与栈
- 初等数论--原根--怎么判断a是不是模m的原根
- boost::type_erasure模块实现了支持多个签名的 Boost.Function 扩展
- the Open Source Community
- android java判断字符串是否为空和是否是手机号和是否是数字,数字转中文
- java课设电子门禁_Java 并发专题 : CyclicBarrier 打造一个安全的门禁系统
- 升级 python 2.6.6 到 2.7.14 版本(pip工具安装)
- zabbix-server添加了网络设备模板导致boot.log占满根目录不能ssh登陆
- Futter基础第16篇: 实现单行文本框、多选框
- spring data jpa 查询部分字段列名无效问题
- pythonqt项目_Qt项目之高亮关键字Python编辑器实现
- android隐式广播和显式广播是什么,在Android8.0上突破隐式广播的限制
- 阿帕奇,StringUtil工具类,各种常用字符串的处理
- Android基础入门教程——4.4.2 ContentProvider再探——Ducument Provider
- 10 年工作经验的求职经历
- arduino闪烁LED灯
- xcode快捷方式 一 快速找到对应文件
- 松下MINAS-A6伺服电机调试记录
- 偏财入财库大富_偏财入库无人不富是什么意思
- 商品库存推送至外部系统API接口文档
热门文章
- QQ好友——功能:“在线对其隐身”和“隐身对其可见”
- 2021年安全员-B证(广西省)报名考试及安全员-B证(广西省)考试APP
- linux ss 软件,Linux ss 命令详解
- 勇士屠熊,绿军射鹿,夕阳西下,人群散尽,唯有烈火燎原势不可挡
- DAZ3D STUDIO 的Strand-Based Hair 教程
- Android开发中 Cause: couldn‘t make a guess for错误
- 作为新手玩抖音要注意什么?怎样才能做一个能赚钱的抖音号?
- 快来带您了解低轨移动卫星通信的发展意义
- mysql REPLACE()函数替换包含反斜杆字段的问题
- 怎么把手机游戏隐藏在计算机里,我把程序中的游戏隐藏了,怎么找到并恢复?...