使用HashSet获取两个List的并集
来源:互联网 发布:java枚举有什么用 编辑:程序博客网 时间:2024/06/01 15:54
近日在做项目的过程中,需要将两个List(ArrayList)中的值,按照某个属性值是否相等进行获取并集的操作。而两个List中存放的数据类型完全不相同(一个自定义的类,一个Stirng数组),并且两个List中的元素数量都较多,两层嵌套循环判断是一个效率比较低的办法,即使在搜索值是否相等时,使用折半算法,也会有较大的效率损失。
考虑到Java中的Set是一种不包含重复元素的collection。因此考虑使用Set解决此问题。而所有的Set实现类中HashSet的效率较高(HashSet基本使用HashMap的实现,在比较Set中元素是否相同时,首先比较两者的key值是否相同;如果key值相同,则调用Set中已有元素对象的“equals”方法,比较原Set中的元素与新加入的元素是否相同),因此采用HashSet做为首选方案。由于两个List中的元素类型不相同,因此,需要将其中一个的类型进行转换。考虑到需要重写Object的“equals”与“hashCode”方法,将包含String数组的List进行转换。而比较值是否相等时,需要判断两个对象的id属性是否相等,因此将List中所存放元素的“hashCode”方法,重写(Override)为返回当前对象的id属性值;重写“equals”方法为判断当前对象与目标对象的id属性值是否相等。然后将存放String数组的List中所有的元素转换为另一个List中的类型。分别遍历两个List,并将其中的元素加入HashSet中,得到两个List根据其中元素的id属性值是否相等进行判断的并集。
- 使用HashSet获取两个List的并集
- Pyton 获取两个 list 的差集、并集
- 取得两个List的并集
- python两个 list 获取交集,并集,差集的方法.
- python两个 list 获取交集,并集,差集的方法
- python两个 list 获取交集,并集,差集的方法.
- python两个 list 获取交集,并集,差集的方法
- python两个 list 获取交集,并集,差集的方法
- python两个 list 获取交集,并集,差集的方法
- python两个 list 获取交集,并集,差集的方法.
- 两个list取并集
- 使用 Python 获取两个列表的交集、并集、差集的常用方法
- (1)获取两个日期之间的所有日期并将其存储进List返回。
- Day14作业 二、有两个List集合怎么取两个无重复的并集
- LINQ获取两个List的交集
- Python中list的交、并、差集获取方法
- List/HashSet/HashMap的排序
- 获取两个List中重复或不同的元素---removeAll()和addAll()的使用
- 自定义dialog,调用系统的短信,邮件界面~!~
- java-设计者模式
- 在VPS、cPanel空间和国内主机面板安装WordPress的通用方法
- svg:text属性的可见性的修改(待解决问题)
- 学习规划
- 使用HashSet获取两个List的并集
- VS2010用C#写单元测试的一些总结
- HashSet和TreeSet
- 海量数据库的查询优化及分页算法方案
- jstl中定义String数组
- 聊胜于无 Java之唯一无序数生成
- 快速学习AJAX之三 Ajax实现登陆
- 角度的选择
- Android:在WebView中获取网页源码