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删除集合中某一属性相同的元素方法(推荐)的全部内容了,希望对大家有所帮助,多多支持我们~
相关推荐
-
实现Java删除一个集合的多个元素
问题 我需要从一个java的集合中,根据另一个集合的内容,删除第一个集合中不特定的元素.这看上去非常简单,但却遇到了问题. 这是我要写的方法的头部 private void screenBlackNameList(List<SharedBoardSmsWrapper> source, List<BlackNameListModel> blackNameList) 事情是这样子的.source集合中保存了一些显示用的数据元素.blackNameList集合中保存的是黑名单列表.我们需
-
java集合类arraylist循环中删除特定元素的方法
在项目开发中,我们可能往往需要动态的删除ArrayList中的一些元素. 一种错误的方式: <pre name="code" class="java">for(int i = 0 , len= list.size();i<len;++i){ if(list.get(i)==XXX){ list.remove(i); } } 上面这种方式会抛出如下异常: Exception in thread "main" java.lang.I
-
删除JAVA集合中元素的实现代码
经常我们要删除集合中的某些元素.有些可能会这么写. 复制代码 代码如下: public void operate(List list){ for (Iterator it = list.iterator(); it.hasNext();) { String str = (String)it.next(); if (str.equals("chengang")){ list.remove(str); } } } 这种写法一运行就会报如下异常: Exception in thread &q
-
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 N
-
java 如何实现正确的删除集合中的元素
在java中如果我们需要遍历集合并删除其中的某些元素时,例如对于List来说,我们有三种办法. 1. 普通的for循环遍历并删除 public void forRemove(List<T> list, T obj){ for(int i = 0;i < list.size(); i++){ if (obj == list.get(i)) { list.remove(obj); } } } main中调用 <pre name="code" class="
-
JS删除对象中某一属性案例详解
代码如下 var obj={ name: 'zhagnsan', age: 19 } delete obj.name //true typeof obj.name //undefined 通过delete操作符, 可以实现对对象属性的删除操作, 返回值是布尔 可以删除其他东西吗 1.变量 var name ='zs' //已声明的变量 delete name //false console.log(typeof name) //String age = 19 //未声明的变量 delete ag
-
正确遍历删除List中的元素方法(推荐)
遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合条件的一个元素 3.通过普通的for删除删除符合条件的多个元素 4.通过Iterator进行遍历删除符合条件的多个元素 /** * 使用增强的for循环 * 在循环过程中从List中删除元素以后,继续循环List时会报ConcurrentModificationException */ public
-
php使用unset()删除数组中某个单元(键)的方法
本文实例讲述了php使用unset()删除数组中某个单元(键)的方法.分享给大家供大家参考.具体分析如下: unset既可以删除变量,也可以删除数组中某个单元.但要注意的是,数组不会重建索引. 实例如下: <?php $arr = array("朝阳区","海淀区","西城区","东城区","丰台区"); unset($arr[3]); echo "<pre>"; pr
-
Java中获取类路径classpath的简单方法(推荐)
如下所示: <SPAN style="FONT-SIZE: 18px"> System.out.println("++++++++++++++++++++++++"); String path = System.getProperty("java.class.path"); String path2 = FreeMarkerWriter.class.getProtectionDomain().getCodeSource().getLo
-
JS中的forEach、$.each、map方法推荐
forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: [1, 2 ,3, 4].forEach(alert); 等同于下面这个for循环 var array = [1, 2, 3, 4]; for (var k = 0, length = array.length; k < length; k++) { alert(array[k]); } Array在ES5新增的方法中,参数都是function类型,默认有传参,forEach方法中的function回
-
举例讲解Python面相对象编程中对象的属性与类的方法
python 对象的属性 进入正题,来看一个实例来了解python中类,对象中公有属性,私有属性及局部变量,全局变量的区别. root@10.1.6.200:~# cat object.py #!/usr/bin/env python #coding:utf8 class Dave(): var1 = "class atribute,public atrribute var1" #类属性,公有属性var1 __var2 = "class self atribute __var
-
django小技巧之html模板中调用对象属性或对象的方法
环境:依赖最初test2数据库 python3版本 多python版本环境 进入,python3虚拟环境,新建项目test4: ]# cd py3/django-test1/ ]# django-admin startproject test4 创建应用bookshop: ]# cd test4 ]# python manage.py startapp bookshop 修改settings.py主配置文件: ]# vim test4/settings.py ... #数据
-
在JavaScript中查找字符串中最长单词的三种方法(推荐)
本文基于Free Code Camp基本算法脚本"查找字符串中最长的单词". 在此算法中,我们要查看每个单词并计算每个单词中有多少个字母.然后,比较计数以确定哪个单词的字符最多,并返回最长单词的长度. 在本文中,我将解释三种方法.首先使用FOR循环,其次使用sort()方法,第三次使用reduce()方法. 算法挑战 返回提供的句子中最长单词的长度. 您的回复应该是一个数字. 提供的测试用例 findLongestWord("The quick brown fox jumpe
随机推荐
- Log4net日志记录组件的使用步骤详解和下载
- windows下直接点击startup.bat启动tomcat服务示例代码
- 10个.NET中删除空白字符串的方法
- PHP云打印类完整示例
- 举例详解PHP脚本的测试方法
- CI框架(CodeIgniter)公共模型类定义与用法示例
- unity实现摄像头跟随
- JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
- asp在服务器把 XML 转换为 XHTML的实现代码
- Java equals()方法使用详解及总结
- jquery网页加载进度条的实现
- Android新闻广告条滚动效果
- 基于MooTools的很有创意的滚动条时钟动画
- Android中使用GridView和ImageViewSwitcher实现电子相册简单功能实例
- android 检查网络连接状态实现步骤
- Python实现通讯录功能
- Vue自定义指令实现checkbox全选功能的方法
- 详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
- thinkPHP5.1框架路由::get、post请求简单用法示例
- PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例