java集合求差值和并集!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合求差值和并集!相关的知识,希望对你有一定的参考价值。

ArrayList stuList = new ArrayList();

stuList.add("aa");

stuList.add("bb");
stuList.add("cc");

stuList.add("dd");

ArrayList stuList2 = new ArrayList();

stuList2.add("bb");
stuList2.add("cc");

stuList2.add("ee");
stuList2.add("ff");
1 去除两个集合中重复的数据,也就是求差值
2 合并两个集合中的数据,重复的数据只要一份

参考技术A 差集
ArrayList<String> stuList = new ArrayList<String>();
stuList.add("aa");
stuList.add("bb");
stuList.add("cc");
stuList.add("dd");
ArrayList<String> stuList2 = new ArrayList<String>();
stuList2.add("bb");
stuList2.add("cc");
stuList2.add("ee");
stuList2.add("ff");
for (String s : stuList2)
if (stuList.contains(s))
stuList.remove(s);
else
stuList.add(s);


System.out.println(stuList2);
合集
ArrayList stuList = new ArrayList();
stuList.add("aa");
stuList.add("bb");
stuList.add("cc");
stuList.add("dd");
ArrayList stuList2 = new ArrayList();
stuList2.add("bb");
stuList2.add("cc");
stuList2.add("ee");
stuList2.add("ff");
Set set=new HashSet();
for (Object object : stuList)
set.add(object);

for (Object object : stuList2)
set.add(object);

System.out.println(set);追问

差集的时候ArrayList不要改变!

追答

差集这样写
ArrayList stuList = new ArrayList();
stuList.add("aa");
stuList.add("bb");
stuList.add("cc");
stuList.add("dd");
ArrayList stuList2 = new ArrayList();
stuList2.add("bb");
stuList2.add("cc");
stuList2.add("ee");
stuList2.add("ff");

ArrayList stuListTemp = new ArrayList();
ArrayList stuList2Temp = new ArrayList();
stuListTemp.addAll(stuList);
stuList2Temp.addAll(stuList2);

List stuList3 = new ArrayList();
stuList3.addAll(stuListTemp);
stuList3.addAll(stuList2Temp);
stuListTemp.retainAll(stuList2Temp);
stuList3.removeAll(stuListTemp);
System.out.println(stuList3);

本回答被提问者采纳
参考技术B Set<String> ss=new HashSet<String>();
ss.addAll(stuList);
ss.addAll(stuList2);
利用set中的值的唯一特性求并集(去重复)
不要使用遍历的方法,如果两个list中的数据有几百万个呢?还遍历吗?

以上是关于java集合求差值和并集!的主要内容,如果未能解决你的问题,请参考以下文章

用java编写程序,求集合的并集、交集和差集

java 求交集 并集 差集

如何求两个数组的交集??

Java中ArrayList的交集和并集

Java中ArrayList的交集和并集

java问题,求两个集合对象的并集