比较两个list,分别返回交集,list1的差集,list2的差集
package com.candao.testProject.collection; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class ListCompare { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); List<String> list2 = new ArrayList<String>(); list1.add("1"); list1.add("2"); list1.add("3"); list1.add("a"); list1.add("c"); list2.add("1"); list2.add("2"); list2.add("3"); list2.add("b"); list2.add("d"); ListCompare.compareUnionList(list1, list2); } /** * 比对两个list中的元素 * @param list1 * @param list2 * @return */ public static List<String> compareUnionList(List<String> list1,List<String> list2){ List<String> diffList1 = new ArrayList<String>(); List<String> diffList2 = new ArrayList<String>(); List<String> same = new ArrayList<String>(); List<String> maxList = list1; List<String> minList = list2; if(list2.size() > list1.size()){ maxList = list2; minList = list1; } Map<String,Integer> map = new HashMap<String,Integer>(maxList.size()); for(String string : maxList){ map.put(string, 1); } for(String string : minList){ if(map.get(string) != null){ map.put(string, 2); same.add(string); continue; } diffList2.add(string); } System.out.println("相同的元素:"+same); for(Map.Entry<String, Integer> entry : map.entrySet()){ if(entry.getValue() == 1){ diffList1.add(entry.getKey()); } } System.out.println("list1中独有的元素:"+diffList1); System.out.println("list2中独有的元素:"+diffList2); return diffList1; } }
参考:http://www.360doc.com/content/12/1112/08/1301843_247326998.shtml
相关推荐
比较两个集合是否相同(比较两个List内容是否相同) 利用Java反射机制,获取到字段名、方法名、字段值,进行逐个比较,此处本人封装好了工具类,接收的是泛型,调用者只需要传入两个实体List即可进行比较,返回true...
比较list得到不同的对象 慎重注意list的大小变化和索引 精简算法
在本篇文章里小编给大家分享的是关于java比较两个list是否相同equals的代码详解,有需要的朋友们可以参考学习下。
主要介绍了Java比较两个List的值是否相等的方法,涉及java针对队列比较的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
两个集合比较(重新生成:新增集合、编辑集合、删除集合)
这时就需要以相同的顺序打乱两个list,那么在python中如何实现呢?可以通过设置相同的随机种子,再shuffle的方式来实现。 代码如下: import random randnum = random.randint(0,100) random.seed(randnum)
主要介绍了Java8 Stream对两个 List 遍历匹配数据的优化处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
list to list 将list内容移到另一个list
java获取list中两元素时间差
今天小编就为大家分享一篇关于判断List和Map是否相等并合并List中相同的Map,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
今天小编就为大家分享一篇关于Java判断2个List集合是否相等(不考虑元素的顺序)的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
python中,list这种数据结构很常用到,如果两个或者多个list结构相同,内容类型相同,我们通常会将两个或者多个list合并成一个,这样我们再循环遍历的时候就可以一次性处理掉了
QT 利用两种方式实现两个list中元素的互相移动 可以通过按键 和 鼠标直接拖拽的方式实现
andriod 商城左侧固定菜单,右侧内容两个list实现
需求是将两个list同时进行遍历,然后同步的将每个元素add到一个dict中,虽然有麻烦的方式,比如直接用list的数组下标可以实现,但是一点也不pythonic,于是想到了zip内置函数。记录下写法~ 正文 废话不多说直接上代码...
java计算同一个list中是否有相同的值
jasperreport创建多个List数据源报表 通多个detail实现多个table效果,简单 快捷
1 #接⼝返回值 2 list1 = ['张三', '李四', '王五', '⽼⼆'] 3 #数据库返回值 4 list2 = ['张三', '李四', '⽼⼆', '王七'] ...7 b = [y for y in (list1 + list2) if y not in a] #两个列表中的不同元素
主要介绍了Python实现比较两个列表(list)范围,本文根据一道题目实现解决代码,本文分别给出题目和解答源码,需要的朋友可以参考下
list1 和list2 两个list , 想要得到list1是不是包含 list2 (是不是其子集 ) a = [1,2] b = [1,2,3] c = [0, 1] set(b) > set(a) set(b) > set(c) 返回 True False 以上这篇Python判断两个list是否是父子集...