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集合中元素的实现代码
经常我们要删除集合中的某些元素.有些可能会这么写. 复制代码 代码如下: 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
-
实现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
-
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
随机推荐
- docker搭建rabbitmq集群环境的方法
- 网站统计中的数据收集原理及实现
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- Tomcat 检测内存泄漏实例详解
- Oracle中三种表连接算法的总结
- MVC5 + EF6 + Bootstrap3 (11) 实现排序、搜索、分页
- JavaScript数据结构链表知识详解
- JavaScript实现俄罗斯方块游戏过程分析及源码分享
- PHPUnit PHP测试框架安装方法
- EL表达式简介_动力节点Java学院整理
- PHP常用开发函数解析之数组篇[未完结]
- headjs实现网站并行加载但顺序执行JS
- 使用js获取地址栏中传递的值
- Android设备获取扫码枪扫描的内容与可能遇到的问题解决
- Python实现控制台中的进度条功能代码
- AngularJS实现图片上传和预览功能的方法分析
- 浅谈Java中的重载,重写,多态,静态绑定、动态绑定
- HTML静态页面引入公共html文件(ssi服务器端指令详解)
- vue 表单之通过v-model绑定单选按钮radio
- 如何完成spring的最小化XML配置
