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

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

大家好,又见面了,我是你们的朋友全栈君。

面试的时候经常会被问到,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),那么就是删除最后一个元素了,那后面的输出语句就会报下标越界了:

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106082.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Pytorch版本、CUDA版本与显卡驱动版本的对应关系

    Pytorch版本、CUDA版本与显卡驱动版本的对应关系参考链接:INSTALLINGPREVIOUSVERSIONSOFPYTORCH解决PyTorch与CUDA版本不匹配1.CUDA驱动和CUDAToolkit对应版本注:驱动是向下兼容的,其决定了可安装的CUDA和CUDAToolkit的最高版本。2.CUDA及其可用PyTorch对应版本(参考官网,欢迎评论区补充)注:虽然有的卡CUDA版本可更新至新版本,且PyTorch也可对应更新至新版本。但有的对应安装包无法使用,有可能是由于卡太旧的原因。3.安装指导(1)指定安装PyTor

    2022年6月16日
    363
  • RestSharp_restbed

    RestSharp_restbedRestSharp介绍RestSharp是一个.NET平台下REST和HTTPAPI的开源客户端库,支持的平台包括.NET3.5/4、Mono、MonoforAndroid、MonoTouch、WindowsPhone7.1Mango、WindowsPhone8.1。RestSharp可以简化用户访问Restful的服务过程,在这里下载代码可以让用户更简单的使用RestSha…

    2025年10月7日
    3
  • Shell内值命令之exit「建议收藏」

    Shell内值命令之exit「建议收藏」Shell内值命令之exit介绍: exit用于退出当前shell环境进程结束运行,并且可以返回一个状态码.一般使用$?可以获取状态码.语法: 正确退出语法exit#默认返回状态码0,一般代表命令执行成功 错误退出语法exit非0数字#数字建议的范围0-255一般代表命令执行失败exit应用场景 1.结束当前shell进程 2.当shell进程执行出错退出时,可以返回不同的状态值代表不同的错误. 比如执行一个脚本文件里面操作一个文件时,可以返回1表示文件不存在,2表示

    2022年10月9日
    2
  • 测试用例和缺陷报告的区别_测试用例怎么写 实例

    测试用例和缺陷报告的区别_测试用例怎么写 实例测试用例和缺陷报告模板对于测试工程师,必备技能之一便是测试用例的编写和软件缺陷报告的编写啦~下面提供一些模板还有项目实战样例供大家参考参考,通过Excel表格编写测试用例缺陷报告模板下面来个实战案例在线课程作业管理系统项目测试用例(部分)缺陷报告实例…

    2026年1月20日
    2
  • JAVA(集合类)——使用For循环遍历ArrayList[通俗易懂]

    JAVA(集合类)——使用For循环遍历ArrayList[通俗易懂]文章目录实例描述实现过程实例描述JAVA中提供了各种数据集合类,这些类主要用于保存复杂结构的数据,其中ArrayList集合可以看作动态数组。它突破了普通数组固定长度的限制,可以随时向数组中添加和移除元素,这将使数组更加灵活。本实例通过ArrayList集合类实现了向程序动态添加与删除用户名的功能,其中所有数据都保存在ArrayList集合的实例对象中。实现过程1)在主方法中获取用…

    2022年7月22日
    25
  • 以太坊矿机组装教程_eth矿机组装

    以太坊矿机组装教程_eth矿机组装以太坊挖矿矿机组装指南伴随着比特币的热潮,“矿机”一词出现在了大众的视野中。那么何为“矿机”呢?一个矿机的本质就是一个电脑机箱,它的硬件组成与普通的台式机箱几乎相同。有区别的是它的主板上PCIE插槽比较多,电源的功率比较大。在这里简单解释下为什么会有这两点不同:1.PCIE插槽越多可连接的显卡就越多,单个矿机的算力就越大。2.电源功率越大能带动的显卡越多。所以大家在选择配置时一定要根据你的显卡…

    2022年9月30日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号