高效找出两个List中不同的元素
来源:互联网 发布:淘宝朋友代付款 编辑:程序博客网 时间:2024/05/16 07:22
原文链接:https://www.cnblogs.com/czpblog/archive/2012/08/06/2625794.html
建议看原文,有优化的步骤。
package com.why.until;import java.util.*;public class CollectionUtil { private CollectionUtil() { } /** * 获取两个集合的不同元素 */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static Collection getDiffent(Collection collmax,Collection collmin) { //使用LinkeList防止差异过大时,元素拷贝 Collection csReturn = new LinkedList(); Collection max = collmax; Collection min = collmin; //先比较大小,这样会减少后续map的if判断次数 if(collmax.size()<collmin.size()) { max = collmin; min = collmax; } //直接指定大小,防止再散列 Map<Object,Integer> map = new HashMap<Object,Integer>(max.size()); for (Object object : max) { map.put(object, 1); } for (Object object : min) { if(map.get(object)==null) { csReturn.add(object); }else{ map.put(object, 2); } } for (Map.Entry<Object, Integer> entry : map.entrySet()) { if(entry.getValue()==1) { csReturn.add(entry.getKey()); } } return csReturn; } /** * 获取两个集合的不同元素,去除重复 */ @SuppressWarnings({ "rawtypes", "unchecked" }) public static Collection getDiffentNoDuplicate (Collection collmax,Collection collmin) { return new HashSet(getDiffent(collmax, collmin)); }}
阅读全文
0 0
- 高效找出两个List中不同的元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 高效的找出两个List中的不同元素
- 找出两个数组中不同的元素
- 找出list中的不同元素、删除两个list中相同的对象
- 高效筛选两个List中的不同的元素
- 找出List集合中不同的元素的方法
- 关于两个List如何快速高效去除相同的元素,保留不同的元素
- java两个list中保存bean对象,找出其中某一属性不同的元素
- java两个list中保存bean对象,找出其中某一属性不同的元素
- 快速计算两个List的不同元素
- Linux 中找出两个文件的不同
- 找出数组中不同的两个数
- HTML中用marquee标签实现跑马灯滚动效果
- H5语义化标签和媒体化查
- java--IO流(前半部分)
- ARM异常处理方式简单介绍
- 01矩阵
- 高效找出两个List中不同的元素
- 排列组合错排
- memcache、redis原理对比
- jQuery:事件操作(一)
- udp
- 洞穴探测
- idea右侧的maven框没了
- 解决ServerTomcatv7.0Serveratlocalhostfailedtostart.
- Java传参的值传递和引用传递问题(转)