面试的时候经常会被问到,list遍历时能不能使用remove()方法?

能不能使用呢?话说存在即合理,能使用时肯定可以的,不过要做点修改,看下面直接使用remove()的结果。

 List<String> list=new ArrayList<String>();list.add("1");list.add("2");list.add("3");list.add("4");for(int i=0;i<list.size();i++){if(i==1)list.remove(1);System.out.println(list.get(i));}

输出结果是:

1
3
4

看结果好像没什么错,但是如果是if(i==3),那么就是删除最后一个元素了,那后面的输出语句就会报下标越界了:

因为删掉一个元素后后面的元素下标都会减一,因此实际使用的时候注意到这一点就行了。面试的时候跟面试官说清楚这一点就行了。

list数组遍历时能不能使用remove()方法,要注意什么相关推荐

  1. Python_遍历时删除的处理说明

    遍历时,建议不能直接进行remove删除,会跳过某些元素 实例: a=[1,2,3,4,5] for i in a: a.remove(i) print a a=[1,2,3,4,5] for i i ...

  2. java数组遍历 删除remove

    package com.b;import java.util.ArrayList;//数组遍历删除,添加 public class Core2 {private String name;private ...

  3. JAVA中List遍历时如何正确remove元素

    当我们需要对遍历中的list进行remove时,很可能会有个坑在等着我们. 先看一段代码: String str1 = new String("abcde"); String st ...

  4. java list 遍历 remove_JAVA中LISt遍历时如何remove元素?

    import java.util.*; public class object { public static void main(String[] args) { String str1 = new ...

  5. List遍历时删除与迭代器(Iterator)解惑

    文章目录 ArrayList 遍历时删除方法 for循环向后遍历的陷阱 增强型for循环(foreach)遇到的问题 使用迭代器进行遍历同时修改操作 iterator调用remove()方法为什么要先 ...

  6. java .foreach数组遍历_foreach遍历ArrayList和数组

    遍历ArrayList的方式有迭代器,foreach循环,get(i)等方式.其中迭代器和get方法都有具体的代码可以看到.foreach循环是怎么实现的呢? 下面通过反编译class的方式来看看JA ...

  7. 数组遍历 map()、forEach() 及 字符串切割 split() / 字符串截取 slice()、substring()、substr()...

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...

  8. 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组遍历 | 二维数组排序 )

    文章目录 一.二维数组 1.二维数组声明及初始化 2.二维数组遍历 3.二维数组排序 二.完整代码示例 一.二维数组 前几篇博客中 , 介绍的是指针数组 ; 指针数组 的 结构特征 是 , 数组中的每 ...

  9. js数组遍历、对象遍历、字符串遍历

    2019独角兽企业重金招聘Python工程师标准>>> 数组遍历 for --使用变量将数组长度缓存起来,在数组较长时性能优化效果明显 for(var i=0,len=arr.len ...

  10. 数组反向遍历ios_iOS中数组遍历的方法及比较

    数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为ios是兼容C语言的,所以c语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系 ...

最新文章

  1. linux select 多路复用机制
  2. 2014 ecb,_it’s_easy_as_123(修改bmp文件头) 攻防世界;
  3. OpenStack构架知识梳理
  4. Jenkins file一行代码部署.NET程序到K8S
  5. 为什么我饿了么产品总监不干,却要从事自由职业?
  6. mysql-聚合函数
  7. 你的 App 在 iOS 13 上被卡死了吗?
  8. glog学习(二):glog主要接口和类分析
  9. 解决microsoft visual c++ build tools安装包丢失或损坏
  10. 关于软件设计文档编写
  11. anaconda报错Collecting package metadata (current_repodata.json): failed
  12. Python学习笔记-2017.5.4thon学习笔记-2017.5.10
  13. 深度学习入门(二)训练并使用Keras模型
  14. 2013校园招聘阶段小结
  15. 【安装windows10 RTX3090 tensorflow的开发环境】
  16. 2017 携程 笔试编程题 1
  17. 讯飞语音转文字 PHP demo
  18. 泛型中的 T、E、K、V,还记得嘛?
  19. service层调用service层的方法,并切换数据库调用不同数据库获取数据
  20. Oracle计算两个日期的月份

热门文章

  1. PDC10与最后的恐慌者
  2. 以下数值中 不能用作C语言标识符,C语言题库及答案(选择题)
  3. 初学博科YIGO2.0学习心得--下推
  4. 学习yigo遇到的问题
  5. 远程服务器挂机好吗,什么服务器挂机好
  6. LBM学习讨论群推荐
  7. ResponseEntity下载
  8. 利用python炒股talib_【手把手教你】股市技术分析利器之TA-Lib(一)
  9. spring加载流程之AnnotatedBeanDefinitionReader
  10. 线性代数------矩阵1