一:普通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

集合框架之三种迭代的能否删除相关推荐

  1. Java集合框架之三:HashMap源码解析

    Java集合框架之三:HashMap源码解析 版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集 ...

  2. Java——集合(Map集合的两种迭代)

    一,Map集合的第一种迭代 Map集合的第一种迭代,通过get(key)方法,根据键去获取值 package com.wsq.map;import java.util.HashMap; import ...

  3. 【.NET】EF框架之三种模式

    使用EF之前必须要对EF有个宏观的了解.学习任何一种技术都要像门卫一样问几个问题. 第一,它是谁? 第二,从哪里来? 第三,到哪里去? 默念一遍:不谋全局者,不足谋一域. 今天老师宏观给讲了一下EF的 ...

  4. JAVA语言基础-面向对象(集合框架02List、泛型)

    2019独角兽企业重金招聘Python工程师标准>>> 16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握) A:案例演示 需求:ArrayList去除集合中字 ...

  5. 黑马程序员——集合框架

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 类集是一个动态对象数组,不受对象数组长度的限制. List集合里面的内容允许重复,Set集合不允 ...

  6. Java基础-------集合框架

    一,集合简介 1.1 集合由来: 对象的存储:①数组(基本数据类型  & 引用数据类型)  ②集合(引用数据类型)     >数组存储数据的弊端:长度一旦初始化以后,就不可变:真正给数组 ...

  7. java list 差集_Java基础之集合框架

    Java 集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器 ...

  8. Java语法理论和面经杂疑篇《五.集合框架》

    目录 1. 集合框架概述 1.1 数组的特点与弊端 1.2 Java集合框架体系 2. Collection接口及方法 2.1 添加 2.2 判断 2.3 删除 2.4 其它 3. Iterator( ...

  9. Java集合框架综述,这篇让你吃透!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:平凡希 cnblogs.com/xiaoxi/p/60899 ...

最新文章

  1. 一网打尽数据结构中线性表链表的相关算法
  2. go语言和java并发_彻底搞清楚Java并发 (一) 基础
  3. leetcode算法题--最长等差数列★
  4. 直线一级倒立摆控制(自起摆和稳态控制)
  5. hystrix总结之多返回值命令
  6. python数据分析-《Python数据分析与数据化运营》电子版
  7. 用javaScript实现轮播图效果 包括自动变换,按钮控制,上一张下一张切换
  8. 马哥linux35期,马哥Linux第五周
  9. 单干必备:论嵌入式模块化编程、驱动分离的重要性
  10. C++多线程1——pthread
  11. ViacomCBS与Sky合作在欧洲推出Paramount+
  12. 国际:十种学习新技术的方法
  13. 小白不知道raw批量转换jpg怎么转?分享好用的方法
  14. 前端踩坑日记 npm install -g ...
  15. 阿里云第二次实验——个人网盘的搭建
  16. 好玩的Java塔防游戏,比较火的塔防手游!塔防游戏排行榜推荐
  17. 网易校招基础编程题——计算炮击次数
  18. 将电脑本地视频转成rtsp和rtmp视频流
  19. WinPE装到硬盘上只需两步——绿色软件下么
  20. 微信小程序开发中遇到的问题(前台用表格形式显示数据)

热门文章

  1. Android之简单了解Android OS内部机制
  2. C语言函数集(二十)
  3. swift_046(Swift map,filter, reduce方法)
  4. swift_035(Swift之第三方库Kingfisher篇)
  5. swift_005(Swift的Dictionary 字典)
  6. mysql分组后组内排序_数据小白的转行之路-MYSQL(七)
  7. H5标准提供哪些新的API
  8. Two Sum [easy] (Python)
  9. IHttpModule
  10. delphi SAP