ArrayList删除集合中某一属性相同的元素方法(推荐)
如果想要集合中的元素不会有重复,那么推荐使用hashSet,如下:
// list是有重复元素的ArrayList HashSet hSet = new HashSet(list); list.clear(); list.addAll(hSet);
但是有时我们想删除某一个重复属性值(值相同)的某个元素,如下:
NetWork nw1 = new NetWork(); nw1.id = 1; nw1.destip = "192.168.1.3"; NetWork nw2 = new NetWork(); nw2.id = 2; nw2.destip = "192.168.1.5"; NetWork nw3 = new NetWork(); nw3.id = 3; nw3.destip = "192.168.1.3"; NetWork nw4 = new NetWork(); nw4.id = 4; nw4.destip = "192.168.1.4"; NetWork nw5 = new NetWork(); nw5.id = 5; nw5.destip = "192.168.1.3"; mList.add(nw1); mList.add(nw2); mList.add(nw3); mList.add(nw4); mList.add(nw5);
明显nw1、nw3、nw5中的ip值都一样,我们只需要一个就足够了,那么用ArrayList该如何循环遍历删除自身的元素值呢?
for (int i = 0; i < mList.size()-1; i++) { for (int j = mList.size()-1; j > i; j--) { if (mList.get(j).destip.equals(mList.get(i).destip)) { mList.remove(j); } } }
两个for循环足矣,记住最好从尾部开始逐一比较,这样一旦某一个元素符号要求,需要delete,能保证删除尾部之上的,不会造成循环错乱。
以上就是小编为大家带来的ArrayList删除集合中某一属性相同的元素方法(推荐)的全部内容了,希望对大家有所帮助,多多支持脚本之家~
相关文章
Spring Native实现0.059s启动一个SpringBoot项目
Spring Native是Spring框架的一个子项目,旨在提供一种将Spring应用程序编译为本地可执行文件的方法,从而提高启动时间和资源效率,本文主要介绍了Spring Native实现0.059s启动一个SpringBoot项目,感兴趣的可以了解一下2024-02-02SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库
这篇文章主要介绍了SpringBoot如何引入mybatis与连接Mysql数据库,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-07-07springboot配置多数据源后mybatis拦截器失效的解决
这篇文章主要介绍了springboot配置多数据源后mybatis拦截器失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
最新评论