首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >list数组遍历时能不能使用remove()方法,要注意什么

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

作者头像
全栈程序员站长
发布于 2022-08-09 06:59:09
发布于 2022-08-09 06:59:09
31600
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
	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));
		}

输出结果是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1
3
4                                                                                      

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【集合框架List进阶】
在 Java 开发中,List 是最常用的集合接口之一,它允许存储有序、可重复的元素。JDK 提供了多种 List 实现,每种都有其特定的性能特征和适用场景。
艾伦耶格尔
2025/08/28
1060
【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)1. 新建一个MyList类2. 构造函数设计3. add方法实现4. remove方法实现
在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等。 然后,演示了ArrayList的几个基本方法。 ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档已经说得很清楚了。 作为一个容器,ArrayList有添加元素,删除元素,以及获取元素的方法。 本节我们先不看ArrayLis底层的源码,而是按照平常的思路来模拟一下ArrayList的具体实现。看看如果我们自己来写的话,会怎么实现ArrayList的功能? 1. 新建一个MyList类 好的,我们来模拟一下A
剽悍一小兔
2018/05/17
8410
集合遍历中删除行不行「建议收藏」
import java.util.ArrayList; import java.util.List;
全栈程序员站长
2022/08/09
5590
集合【7】— 遍历ArrayList集合三种方法「建议收藏」
—迭代:Collection 集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有元素则把元素取出,然后继续再判断下一个元素,如果还有就再取出,直到把集合中的所有元素全部取出为止。这种取出方式专业术语称为迭代。(迭代字面意思: 重复执行一系列过程,而每一次迭代得到的结果会作为下一次迭代的初始值。)
全栈程序员站长
2022/09/15
9270
List中remove()方法的陷阱,被坑惨了!
Java的List在删除元素时,一般会用list.remove(o)/remove(i)方法。在使用时,容易触碰陷阱,得到意想不到的结果。总结以往经验,记录下来与大家分享。
好好学java
2021/10/09
7000
使用List中的remove方法遇到的坑,不信你没有踩过!
结果是一下。根据以上代码,希望得到的结果是 cde 但是运行结果是bcde那么问题来了为什么会得到一下结果呢
后端码匠
2020/07/21
1.9K0
使用List中的remove方法遇到的坑,不信你没有踩过!
list.remove()时出问题,集合的remove方法注意事项1
集合有一个方法叫remove(index),这是用来移除集合元素的,但是使用的时候,会有一个问题,很多人不注意这个问题,会发现使用完这个方法后,数据对不上了。看下面的小案例:
IT云清
2019/01/22
1.1K0
【数据结构】顺序表
前言: 小编在开始之前就已经发了顺序表的相关用例,想看的小伙伴可以去看看哦http://t.csdnimg.cn/saIbn
用户11288949
2024/09/24
1080
【数据结构】顺序表
知识改变命运 数据结构【顺序表】
线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结 构,常见的线性表:顺序表、链表、栈、队列… 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物 理上存储时,通常以数组和链式结构的形式存储。
用户11319080
2024/10/17
1230
知识改变命运 数据结构【顺序表】
Java开发手册之集合处理「建议收藏」
反例:直接使用toArray无参方法存在问题,此方法返回值只能是Object[]类,若强转其它类型数组将出现ClassCastException错误。 5. 【强制】使用工具类Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException异常。 说明:asList的返回对象是一个Arrays内部类,并没有实现集合的修改方法。Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组。
全栈程序员站长
2022/08/04
2910
遍历ArrayList的过程中移除元素的方式
原因:在匹配到第一个要删除的元素并移除时,后面元素会往前移位,导致索引位置改变,从而漏掉后面一个元素。
全栈程序员站长
2022/09/15
7670
List中remove()方法的陷阱-跳过删除元素的下一个元素
为什么只删除了一个3呢 因为在list在删除时,会将删除元素之后的所有元素都前移一位,在删除第一个3时(下标2),第二个3的下标会变成2,然后i+1=3,即下次遍历会跳过删除元素的下一个元素 所以,list在有删除操作时,要将遍历的i减减 即
向着百万年薪努力的小赵
2022/12/02
1.3K0
List中remove()方法的陷阱-跳过删除元素的下一个元素
带了一个 3 年的开发,不会循环删除 List 中的元素,心态崩了。。
最近和某个朋友聊天,说他手下的一个开发,工作 3 年多了,一个需求的技术点,需要循环删除 List 中的元素,整了半天,说程序报错,不会弄。。
Java技术栈
2023/02/27
7970
带了一个 3 年的开发,不会循环删除 List 中的元素,心态崩了。。
三种方法遍历二叉树_java遍历arraylist
对比这两种方法,我觉得使用iterator()这种迭代方法最为简单点。例如:Iterator可以通过循环输出类集中的内容,从而获得或删除元素。
全栈程序员站长
2022/11/10
3610
顺序表的奥秘:高效数据存储与检索
小舒不服输
2024/01/31
2530
顺序表的奥秘:高效数据存储与检索
【小家java】Java中集合List、Set、Map删除元素的方法大总结(避免ConcurrentModificationException异常)
java中的集合框架是我们日常使用得最多的数据结构,而List作为Collection里最重要的一员,使用就更加的频繁了。因此我们平时使用中少不了对List的增删改查,本文就针对于对List的“删”操作进行一个分析,顺便说几个坑,希望能帮助到大家以后可以避免踩坑
YourBatman
2019/09/03
2.2K0
【小家java】Java中集合List、Set、Map删除元素的方法大总结(避免ConcurrentModificationException异常)
List数据去重的五种有效方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141074.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/01
4.2K0
遍历Arraylist的几种方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163105.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
3640
Java码农必须掌握的循环删除List元素的正确方法!
首先看下下面的各种删除list元素的例子 public static void main(String[] args) { List<String> list = new ArrayList<>(Arrays.asList("a1", "ab2", "a3", "ab4", "a5", "ab6", "a7", "ab8", "a9")); /** * 报错 * java.util.ConcurrentModificationExcept
Java技术栈
2018/03/30
1.6K0
在ArrayList的循环中删除元素,会不会出现问题?
在 ArrayList 的循环中删除元素,会不会出现问题?我开始觉得应该会有什么问题吧,但是不知道问题会在哪里。在经历了一番测试和查阅之后,发现这个“小”问题并不简单!
Wizey
2018/09/29
3.5K0
在ArrayList的循环中删除元素,会不会出现问题?
推荐阅读
相关推荐
【集合框架List进阶】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验