描述:
这里用到四种方式进行遍历,第一种是增强for,这个方法会报错,估计这就是面试管给的坑,第二种方法用的迭代器,第三种方法用的是正向for循环,这种方法需要注意,删除一个元素后,后面元素会自动前移,在后续遍历时,需要i --;操作,第四种方法是反向for循环,删除一个元素后,由于是后面的元素前移,所以在接下来遍历前面的元素时,不用进行i --;操作。

import java.util.*;public class Main {public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("a");list.add("a");list.add("b");list.add("c");//        // 增强for遍历删除,会报错
//        for (String s : list) {
//            if (s.equals("a")) {
//                list.remove(s);
//            }
//        }
//        System.out.println(list);//        // 迭代器遍历
//        Iterator<String > iterator = list.iterator();
//        while (iterator.hasNext()) {
//            if (iterator.next().equals("a")) {
//                iterator.remove();
//            }
//        }//        // 正向for循环,记得i --,因为删除一个元素后,其他元素都会前移;
//        for (int i = 0; i < list.size(); i++) {
//            if (list.get(i).equals("a")) {
//                list.remove(i);
//                i --;
//            }
//        }
//        System.out.println(list);// 反向for循环for (int i = list.size() - 1; i >= 0; i--) {if (list.get(i).equals("a")) {list.remove(i);}}System.out.println(list);}
}

Java面试题:List一边遍历,一边删除相关推荐

  1. Java中list如何利用遍历进行删除操作

    转: Java中list如何利用遍历进行删除操作 2018年03月31日 10:23:41 Little White_007 阅读数:3874 Java三种遍历如何进行list的便利删除: 1.for ...

  2. 【Java面试题】List如何一边遍历,一边删除?

    这是最近面试时被问到的1道面试题,本篇博客对此问题进行总结分享. 1. 新手常犯的错误 可能很多新手(包括当年的我,哈哈)第一时间想到的写法是下面这样的: public static void mai ...

  3. Java集合—List如何一边遍历,一边删除?

    原文作者:申城异乡人 原文地址:[Java面试题]List如何一边遍历,一边删除? 目录 1. 新手常犯的错误 2. 使用Iterator的remove()方法 3. 使用for循环正序遍历 4. 使 ...

  4. java list 删除 遍历_Java list利用遍历进行删除操作3种方法解析

    Java list利用遍历进行删除操作3种方法解析 这篇文章主要介绍了Java list利用遍历进行删除操作3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需 ...

  5. java 遍历删除list_Java list利用遍历进行删除操作3种方法解析

    这篇文章主要介绍了Java list利用遍历进行删除操作3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java三种遍历如何进行list ...

  6. Java面试题总结-Day4

    <?xml version="1.0" encoding="utf-8"?> Java面试题总结-Day4 Java面试题总结-Day4 Table ...

  7. java面试题2019 答案

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 Stri ...

  8. Java面试题及答案整理(2022年140道)持续更新

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Jav ...

  9. Java面试题大全带答案 110道(持续更新)

    本人发现网上虽然有不少Java面试题大全带答案,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案 如果不背 ...

  10. Java面试题及答案整理( 2022最新版,持续更新)

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ Java面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少 ...

最新文章

  1. git清空工作区和暂存区
  2. nginx_gzip压缩提升网站的传输速度
  3. MSSQL 访问Mysql
  4. C#new出来的结构体内存分配
  5. vue each_Vue 应用单元测试的策略与实践 05 - 测试奖杯策略
  6. [PHP] 现代化PHP之路:composer的安装和升级
  7. [软件测试airtest软件安装]——填坑
  8. 微服务介绍及Asp.net Core实战项目系列之微服务介绍
  9. java 数据溢出和编译错误的差别
  10. Dialog的半透明背景的灰度
  11. Linux修改网络配置
  12. Python 用一行代码完成词频统计与分析,词频分析如此简单
  13. ps 蒙版抠图更换背景色或背景图片
  14. 浅谈机器学习中的非线性
  15. top1-Accuracy,top5-Accuracy举例精析
  16. php如何截取出视频中的指定帧作为图片
  17. 2020搞一个副业项目需要什么技能?
  18. 基于 python 的语音识别 API 调用
  19. Linux进程调度与性能优化 | 真货
  20. FANUC机器人动作指令的定位类型FINE和CNT详解

热门文章

  1. laravel框架之自帶登錄註冊
  2. java基础方法笔记
  3. 最里层的是child元素
  4. POJ 2425 A Chess Game(有向图SG函数)题解
  5. spring框架入门day02
  6. css3 animation
  7. 每天CookBook之Python-048
  8. CSS效果:固定页脚、PNG透明、最小高度 3枚
  9. 字符串里面的单词反转
  10. JAVA 面试高频提问知识点之:SET、LIST 和 MAP 的区别