java 集合之ArrayList集合元素重复删除

三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解 阅读详情
对于ArrayList元素的删除,之前有些没有注意的点,这里记录一下。

1. 普通for循环删除

图1

答案一点都不意外,可是看下图(将ArrayList中重复的元素放置相邻):

这里写图片描述

原因:因为在ArrayList底层用的是数组实现,所以存储的时候是一块连续的地址。当检测相同元素并删除的同时,之后的整个数组就和集体往前移动,此次循环结束后的累加器又 ++1,所有相邻的一个就会被忽略掉。
解决:(删除后,指针往前移动一位)

ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");

        for (int i = 0; i < list.size(); i++) {

            if("b".equals(list.get(i))){
                list.remove(i --);
            }
        }

        System.out.println(list);

2.迭代器删除

ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");

        //迭代器删除
        Iterator<String> it = list.iterator();

        while (it.hasNext()) {
            if("b".equals(it.next())){
                list.remove("b");
            }
        }

        System.out.println(list);

结果:(并发修改异常,迭代器获得元素信息,在迭代中删除了集合中的数据)

不能用集合的删除,用迭代器的删除。

ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");

        //迭代器删除
        Iterator<String> it = list.iterator();

        while (it.hasNext()) {
            if("b".equals(it.next())){
                //list.remove("b");
                it.remove();
            }
        }
        System.out.println(list);

迭代器的另一种写法

        ArrayList<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");

        for(Iterator<String> it2 = list.iterator();it2.hasNext();){
            it2.remove();
        }

        System.out.println(list);

3.增强for循环,不能删除元素,因为他的底层实现是迭代器实现的,又不能调用迭代器的删除方法,所以此方法只能用来遍历,不能用来删除元素。

FPGA实现DDR接口 verilog// DDR2控制器状态机// 初始化序列// 发出初始化命令endendendend// 自动预充电end// 其他状态...endcaseendend。 阅读详情

相关推荐

深度学习12—VGG19实现

state_dict = load_state_dict_from_url(model_urls['vgg19'],model_dir='./model' ,progress=progress)#预训练模型地址。accuracy=((out.argmax(1)==label).sum()).clone().detach().cpu().numpy()#正确预测的总和比测试集的长度,即预测正确的精度。image=torch.reshape(image,(1,3,224,224))#四维图形,RGB三个通。

m0_55196097的博客 2442

Java中ArrayList集合中如何删除重复元素呢?

Java中ArrayList集合中删除重复元素的方法分享

qq_25073223的博客 545

Altium Designer 16来自原理图/PCB的各种报错 (持续更新):

NO1.Nets with only one pin: 根本原因: 在BGA的原理图绘制时,我一般习惯拉出该元件的所有IO的网络,这方便利于我开发其他款板卡。同样也会因为不同板卡的需求不同而造成有些IO并没有使用到,也就是整个原理图中only one pin。 解决方案: 鼠标右键工程文件>工程参数>下图圈中的选项将“错误”更改为“警告/不报告” ...

优快云@猿谷攻城狮 1万+

java arryalist去重复_java删除ArrayList中重复的元素

本文章来为各位同学介绍一篇关于java删除ArrayList中重复的元素的方法,希望这篇教程能够帮助到各位理解删除重复数据算法了。ArrayList是java集合框架中List接口的最常见的实现。不过,ArrayList里是允许存放相同的元素的。虽然java中有另外一个叫Set的集合专门用来存放不重复的元素。不过可能会遇到这样的需要:我们需要在处理数据之前删除ArrayList中重复的元素。Arr...

weixin_42117032的博客 1596

XTDrone平台FAST-LIO2与ego-planner结合路径规划部署

之前做了XTDrone平台FAST-LIO2的部署现在将其结合ego-planner进行导航规划,之前查看教程是使用视觉进行定位导航的,现在重新学习。修改advanced_param_xtdrone.xml,这里有视觉信息,不修改会报错显示为输入视觉话题信息。怎么描述 ,感觉当时觉得很难的问题突然就给解决了,一顿复杂,最近勤更新吧,继续开始学习。还有一个想法就是两个rviz结合在一起启动,写了一个demo,融合的不太好感觉额。改为只使用雷达点云,这里仿真的话题是/scan。

m0_56093217的博客 1080

Java删除ArrayList中的重复元素的2种方法

Java删除ArrayList中的重复元素的2种方法ArrayList是Java中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时我们经常会遇 到那种必须从已建成的ArrayList中删除重复元素的要求。这篇文章将给出两种从ArrayList中删除重复元素的方法。方法1:使用HashSet删除ArrayList中重复的元素在该方...

weixin_33827965的博客 886

IEEE LaTeX模板中algorithm排版避坑指南:如何优雅地嵌入算法描述?

本文详细解析了在IEEE LaTeX模板中优雅排版algorithm的实用技巧,包括基础配置、高级自定义及常见问题解决方案。通过嵌套环境与[H]参数的应用,帮助研究者克服IEEEtran模板对算法排版的限制,实现专业且美观的算法呈现。

weixin_28340315的博客 408

ArrayList练习:存入对象到ArrayList集合中,去除对象中的重复元素

【需求】:存入对象到ArrayList集合中,去除对象中的重复元素 对象:Person 条件:同名同年龄视为同一对象 【分析】: 首先判断姓名,姓名不同则为不同元素。 如果姓名相同,则判断年龄,如果年龄相同,则为同一元素;反之,为不同元素。 实现——原集合为集合1,新集合为集合2 创建...

The_Best_Hacker的博客 1687

3分钟创建智能体

智能体简介会在首页以及名片页展示,需要简洁明了的介绍智能体用途✅优秀示例:最好用第三人称直接说明智能体用途~如:打造生动文案好帮手、专业解梦,探寻梦境奥秘等❌反面教材:简介并未介绍用途、语义含糊。如:今天写点啥、看看你做的梦等以上步骤完成后,点击发布,就能成功创建属于你自己的智能体啦~仅自己可访问(免审):发布后仅开发者本人账号可访问、预览、使用该智能体仅链接可访问:发布后任何人均可通过链接访问、预览、使用该智能体。

soso1968的博客 2082

【传感器模块项目实战】机器人/无人驾驶常用传感器模型、选型与安装

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对机器人/无人驾驶常用传感器模型、选型与安装做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容分为位置式绝对型编码器增量式编码器打比赛的时候用过欧姆龙的增量式编码器,也用过待编码器的步进电机。【防盗标记–盒子君hzj】增量式编码器正交编码输出信号,用于识别正转和反转,通过微控制器(单片机)的片内外设硬件/软件解码(1)惯性器件-机械陀螺。

qq_35635374的博客 446

Java基础之去除List集合中的重复元素

在java中去除list集合中的重复元素很常见,这里总结一下几种方法。 1、使用for循环list中的所有元素然后删除重复 /** * 使用for循环删除list中的重复元素 * @param list * @return */ public static List removeDuplicate1(List list) { for (int i = 0; i < list.size() - 1; i++) { for (int j = list.size() -

u012556114的博客 8443

汽车零部件产线实战:C#上位机+YOLO实现螺栓装配到位视觉检测

本项目基于C#上位机+YOLOv8实现汽车零部件产线螺栓装配到位视觉检测,全程贴合产线实际场景,从硬件选型、安装调试,到模型训练、上位机开发,再到项目联调、优化扩展,均提供手把手实操指导,代码可直接复制使用,规避了工业视觉产线检测的高频踩坑点。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1330

java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)

当你想找个人说话的时候,才发现有些事情是不能告诉别人的,有些事情是不必告诉别人的,有些事情是根本没有办法告诉别人的,而有些事情即使告诉了别人,你也会马上后悔,那么最好的办法 就是静下来,真正能平静自己的只有自己

代码小疯子 2633

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java 删除ArrayList LinkedList集合中的重复元素

ArrayList与LinkedList一样,下面以ArrayList为例ArrayList arrayList = new ArrayList(); arrayList.add("a"); arrayList.add("a"); arrayList.add("b"); arrayList.add("c"); for

panyzyw的博客 3260

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java 集合框架 Arraylist的基本使用方法、Vector的特有方法、LinkedList的特有方法、在集合中删除重复自定义类型元素(重写equals方法)

面试时: 集合继承体系图 还是这个图,上一篇学了List接口,这篇讲的是List底下继承的三个类。 上篇链接: Java 集合框架 List的方法,List集合特有的遍历功能,listIterator的功能,并发修改异常ConcurrentModificationException的原因和解决办法 https://blog.youkuaiyun.com/weixin_43580841/article/details/107462169 List底下三个类: Arraylist:底层数据结构是数组(顺序表),查询快,

虾米的日常总结 379

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

定义一个java集合_java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)...

定义一个功能将ArrayList 集合中的重复元素删除ArrayList 集合中是允许储存重复元素的import java.util.ArrayList;import java.util.Iterator;//定义一个功能将ArrayList 集合中的重复元素删除public class ArrayListDemes2{public static void main(String[] args){...

weixin_29098391的博客 197

java中使用for循环删除集合中元素的注意点

场景:使用for循环删除集合中的指定元素 定义一个list集合,并添加数据: List<String> list=new ArrayList<>(); list.add("b"); list.add("e") list.add("b"); list.add("c"); 需求:删除该集合中所有字符串为b的数据,代码如下: for (int i = 0; i &...

sky198989的博客 1898

java 删除list中的重复_Java删除ArrayList中的重复元素的2种方法

ArrayList是Java中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求。这篇文章将给出两种从ArrayList中删除重复元素的方法。方法1:使用HashSet删除ArrayList中重复的元素在该方法中,我们使用HashSet来删除重复的元素。如你所知,HashSet不允许...

weixin_42363388的博客 334

【详解】Java删除ArrayList中的重复元素的2种方法

这两个方法都可以有效地移除ArrayList中的重复元素,但是第一个方法可能更高效,因为它直接利用了Set的特性,而第二个方法需要迭代集合两次(一次来检查重复,一次来移除)。这种方法是将ArrayList中的元素添加到一个Set中,因为Set不允许重复元素,所以这个过程本身就会删除重复的元素。​集合不允许重复的元素,因此我们可以将ArrayList中的元素临时存储到Set中,然后再将Set中的元素放回ArrayList中。如果你想要在原集合上删除重复元素,并且你有一个明确的判断重复的标准,你可以使用​。

牛肉胡辣汤 1431

arraylist删除指定元素_Java集合框架:ArrayList,探讨了解,有不同理解可以在评论留言...

前言这个分类中,将会写写Java中的集合。集合是Java中非常重要而且基础的内容,因为任何数据必不可少的就是该数据是如何存储的,集合的作用就是以一定的方式组织、存储数据。这里写的集合,一部分是比较常见的、一部分是不常用但是我个人平时见到过的,一些比较相似的集合(比如HashMap和Hashtable)就只讲一个,突出它们之间的区别即可。最后,要指出一点,对于集合,我认为关注的点主要有四点:1、是否...

weixin_39528559的博客 165

java重复执行方法_重复java方法

Java删除ArrayList中的重复元素的2种方法ArrayList是Java中最常用的集合类型之一。它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序。在编码时我们经常会遇到那种必须从已建成的ArrayList中删除重复元素的要求。这篇文章将给出两种从ArrayList中删除重复元素的方法。方法1:使用HashSet删除A...文章行者武松2017-08-01895浏览量java...

weixin_42514005的博客 3536

ArrayList 集合遍历 删除 筛选重复数据

ArrayList遍历删除筛选 在做数据处理中ArrayList我们用的是最多的,今天总结一下ArrayList在使用中的一些常用功能: 遍历ArrayList的数据、 删除ArrayList的数据、筛选掉ArrayList的重复数据。 ArrayList遍历,通常有三种方式 普通for循环、增强for循环、迭代器进行迭代。 代码如下: 一.遍历集合 ArrayList arrayL

lixiaoshuai_91的博客 5413

Java——使用递归删除集合中重复元素

Java——使用递归删除集合中重复元素 方法一:采用老式for循环 public class Test2 { public static void main(String[] args) { /创建集合 ArrayList&lt;String&gt; list = new ArrayList&lt;&gt;(); //添加元素,其中元素有重复 ...

qq_39544768的博客 620

java相邻元素相同删除一个_java相关:ArrayList删除集合中某一属性相同的元素方法(推荐)...

java相关:ArrayList删除集合中某一属性相同的元素方法(推荐)发布于 2020-7-11|复制链接下面小妖就为大家带来一篇ArrayList删除集合中某一属性相同的元素方法(推荐)。小妖觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小妖过来看看吧如果想要集合中的元素不会有重复,那么推荐使用hashSet,如下:```java// list是有重复元素的ArrayListHas...

weixin_39594103的博客 407

使用递归删除集合中重复元素

方法一:采用老式for循环 public class Test2 { public static void main(String[] args) { /创建集合 ArrayList&lt;String&gt; list = new ArrayList&lt;&gt;(); //添加元素,其中元素有重复 list.add("aaa"...

qq_41988504的博客 756
上一篇: unreachable code 报错
下一篇: 向HashSet插入自定义对象判断是否重复
Kindle_code
博客等级 码龄12年 21粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值