集合框架之三种迭代的能否删除
一:普通for循环的删除
1 // 普通for循环,通过索引删除,删除后索引要-- 2 for (int i = 0; i < list.size(); i++) { 3 if ("d".equals(list.get(i))) { 4 list.remove(i--); 5 } 6 } 7 System.out.println(list);
二:迭代器两种遍历(删除)方式
方式一:
1 // 迭代器删除,不能用集合的删除方法,因为迭代过程中修改会发生并发修改异常 2 ListIterator<String> iter = list.listIterator(); 3 while (iter.hasNext()) { 4 if ("d".equals(iter.next())) { 5 iter.remove(); 6 } 7 } 8 System.out.println(list);
方式二:
1 for(ListIterator<String> iter=list.listIterator();iter.hasNext();){ 2 if("d".equals(iter.next())){ 3 iter.remove(); 4 } 5 } 6 System.out.println(list);
三:增强fore循环删除
// 增强for循环底层依赖迭代器,不能删除,只能遍历;删除会出现并发修改异常( java.util.ConcurrentModificationException)for (String string : list) {list.remove(string);//这是错误的代码 }System.out.println(list);
转载于:https://www.cnblogs.com/le-ping/p/7413166.html
集合框架之三种迭代的能否删除相关推荐
- Java集合框架之三:HashMap源码解析
Java集合框架之三:HashMap源码解析 版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集 ...
- Java——集合(Map集合的两种迭代)
一,Map集合的第一种迭代 Map集合的第一种迭代,通过get(key)方法,根据键去获取值 package com.wsq.map;import java.util.HashMap; import ...
- 【.NET】EF框架之三种模式
使用EF之前必须要对EF有个宏观的了解.学习任何一种技术都要像门卫一样问几个问题. 第一,它是谁? 第二,从哪里来? 第三,到哪里去? 默念一遍:不谋全局者,不足谋一域. 今天老师宏观给讲了一下EF的 ...
- JAVA语言基础-面向对象(集合框架02List、泛型)
2019独角兽企业重金招聘Python工程师标准>>> 16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握) A:案例演示 需求:ArrayList去除集合中字 ...
- 黑马程序员——集合框架
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 类集是一个动态对象数组,不受对象数组长度的限制. List集合里面的内容允许重复,Set集合不允 ...
- Java基础-------集合框架
一,集合简介 1.1 集合由来: 对象的存储:①数组(基本数据类型 & 引用数据类型) ②集合(引用数据类型) >数组存储数据的弊端:长度一旦初始化以后,就不可变:真正给数组 ...
- java list 差集_Java基础之集合框架
Java 集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器 ...
- Java语法理论和面经杂疑篇《五.集合框架》
目录 1. 集合框架概述 1.1 数组的特点与弊端 1.2 Java集合框架体系 2. Collection接口及方法 2.1 添加 2.2 判断 2.3 删除 2.4 其它 3. Iterator( ...
- Java集合框架综述,这篇让你吃透!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:平凡希 cnblogs.com/xiaoxi/p/60899 ...
最新文章
- 一网打尽数据结构中线性表链表的相关算法
- go语言和java并发_彻底搞清楚Java并发 (一) 基础
- leetcode算法题--最长等差数列★
- 直线一级倒立摆控制(自起摆和稳态控制)
- hystrix总结之多返回值命令
- python数据分析-《Python数据分析与数据化运营》电子版
- 用javaScript实现轮播图效果 包括自动变换,按钮控制,上一张下一张切换
- 马哥linux35期,马哥Linux第五周
- 单干必备:论嵌入式模块化编程、驱动分离的重要性
- C++多线程1——pthread
- ViacomCBS与Sky合作在欧洲推出Paramount+
- 国际:十种学习新技术的方法
- 小白不知道raw批量转换jpg怎么转?分享好用的方法
- 前端踩坑日记 npm install -g ...
- 阿里云第二次实验——个人网盘的搭建
- 好玩的Java塔防游戏,比较火的塔防手游!塔防游戏排行榜推荐
- 网易校招基础编程题——计算炮击次数
- 将电脑本地视频转成rtsp和rtmp视频流
- WinPE装到硬盘上只需两步——绿色软件下么
- 微信小程序开发中遇到的问题(前台用表格形式显示数据)