请问java有工具类取两个list的并集吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问java有工具类取两个list的并集吗?相关的知识,希望对你有一定的参考价值。
list1与list2内装有不同的信息,但也有相同的信息现在想要得是不同加入,相同只加入一个,请问java不用循环,有这样的工具类吗?
那往set放呢?
list1.retainAll(list2);
这样处理后,list1就是处理过的。
看成交集了,失败。。。
并集的话直接把两个的数据都放到一个Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
这样set里保存的数据就是你要的结果 参考技术A 使用java集合(包括但不限于List)类可方便地计算两个集合的交集、并集、差集等,以下是详细代码:
import java.util.HashSet;
import java.util.Set;
public class Test
public static void main(String[] args)
Set<Integer> result = new HashSet<Integer>();
Set<Integer> set1 = new HashSet<Integer>()
add(1);
add(3);
add(5);
;
Set<Integer> set2 = new HashSet<Integer>()
add(1);
add(2);
add(3);
;
result.clear();
result.addAll(set1);
result.retainAll(set2);
System.out.println("交集:"+result);
result.clear();
result.addAll(set1);
result.removeAll(set2);
System.out.println("差集:"+result);
result.clear();
result.addAll(set1);
result.addAll(set2);
System.out.println("并集:"+result);
针对题目中关于List的应用,只需要在代码中将输入集合改为list即可 参考技术B 做不到的啊 求并集必须要求能够比对两个集合之间的任意两个元素是否相同,但是list里是能存任意种类的对象的,这些对象是否相同的代码通常都得你自己实现(除了一些内定的,比如String等),而且list也不会调用这个比对方法,List是可以存入重复记录的,不像Set 参考技术C 貌似没有, 但是你可以自己写一个这样的工具类, 一劳永逸. 参考技术D 不知道你具体 的业务需求是什么(可不可以重复的什么 等等)
可以自己写个类我帮你写个很简单的
public class ListUtil
public static List sameList(List list1,List list2)
if (list1==null||list2==null)
return null;
else
List returnList=new ArrayList();
for (Object o1 : list1)
for (Object o2 : list2)
if (o1.equals(o2))
returnList.add(o1);
continue;
return returnList;
java问题,求两个集合对象的并集
定义一个整型集合类interSet。这种类型的对象可以存储10个0~100的整数。编辑:输出两个集合对象的并集
Java里的Set里的值是有唯一性的,把两个InterSet里的数往一个Set里放,重复的是放不进的 参考技术A .我也想知道怎么做! 关注!关注!那为大大回答下! 参考技术B GET进去?
以上是关于请问java有工具类取两个list的并集吗?的主要内容,如果未能解决你的问题,请参考以下文章
R语言union函数计算数据对象(vectorlistdataframe)的并集:union函数计算两个vector向量dataframe列表list的并集
两个字典<TKey, TValue> 到字典<TKey, List<TValue>> 的并集