请问java有工具类取两个list的并集吗?

list1与list2内装有不同的信息,但也有相同的信息现在想要得是不同加入,相同只加入一个,请问java不用循环,有这样的工具类吗?那往set放呢?... list1与list2内装有不同的信息,但也有相同的信息现在想要得是不同加入,相同只加入一个,请问java不用循环,有这样的工具类吗?
那往set放呢?
展开
 我来答
书乐天0A2
推荐于2017-12-15 · TA获得超过722个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:250万
展开全部
好象List的里retainAll可以完成吧,可以保留相同的元素,将不同的删除,你可以试一下,如果这个不是创建一个新的list,是在原有的list上直接修改。

list1.retainAll(list2);

这样处理后,list1就是处理过的。

看成交集了,失败。。。

并集的话直接把两个的数据都放到一个Set集合里就行了
Set set = new HashSet();
set.addAll(list1);
set.addAll(list2);
这样set里保存的数据就是你要的结果
samismiling
推荐于2016-07-05 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5604

向TA提问 私信TA
展开全部
使用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即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f683cf5
2009-08-20 · TA获得超过369个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:372万
展开全部
做不到的啊 求并集必须要求能够比对两个集合之间的任意两个元素是否相同,但是list里是能存任意种类的对象的,这些对象是否相同的代码通常都得你自己实现(除了一些内定的,比如String等),而且list也不会调用这个比对方法,List是可以存入重复记录的,不像Set
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猫鼠CC
2009-08-20 · TA获得超过106个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:104万
展开全部
貌似没有, 但是你可以自己写一个这样的工具类, 一劳永逸.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kejiaweiren
2009-08-20 · TA获得超过6740个赞
知道大有可为答主
回答量:1774
采纳率:0%
帮助的人:3351万
展开全部
不知道你具体 的业务需求是什么(可不可以重复的什么 等等)
可以自己写个类我帮你写个很简单的
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;
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式