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 合并两个集合中的数据,重复的数据只要一份
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);
ss.addAll(stuList);
ss.addAll(stuList2);
利用set中的值的唯一特性求并集(去重复)
不要使用遍历的方法,如果两个list中的数据有几百万个呢?还遍历吗?
以上是关于java集合求差值和并集!的主要内容,如果未能解决你的问题,请参考以下文章