【Java】对两个Set取交集,差集,并集
1、取交集(取两个集合中都存在的元素)
HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.retainAll(setB);
return resSet;
2、取差集(取存在一个集合中,但不存在于另外一个集合中的元素)
HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.removeAll(setB);
return resSet;
3、取并集(取两个集合中全部的元素,这个很简单,都把他们添加进去就行)
HashSet<String> setA = new HashSet<>();
HashSet<String> setB = new HashSet<>();
//用于存放结果
HashSet<String> resSet = new HashSet<>();
resSet.addAll(setA);
resSet.addAll(setB);
return resSet;
-
package site.duanzy.util;
-
-
import java.util.HashSet;
-
import java.util.Set;
-
-
/**
-
* @author leo
-
* @date 2022/6/16 19:12
-
*/
-
public class SetUtil {
-
-
/**
-
* 取交集(取两个集合中都存在的元素)
-
* @return
-
*/
-
public static Set<String> intersectionSet(Set<String> setA, Set<String> setB){
-
Set<String> resSet = new HashSet<>();
-
resSet.addAll(setA);
-
resSet.retainAll(setB);
-
return resSet;
-
}
-
-
/**
-
* 取差集(取存在一个集合中,但不存在于另外一个集合中的元素)
-
* @return 存在A集合,不存在B集合的数据
-
*/
-
public static Set<String> differenceSet(Set<String> setA, Set<String> setB){
-
Set<String> resSet = new HashSet<>();
-
resSet.addAll(setA);
-
resSet.removeAll(setB);
-
return resSet;
-
}
-
-
/**
-
* 取并集(取两个集合中全部的元素,这个很简单,都把他们添加进去就行)
-
* @return
-
*/
-
public static Set<String> unionSet(Set<String> setA, Set<String> setB){
-
Set<String> resSet = new HashSet<>();
-
resSet.addAll(setA);
-
resSet.addAll(setB);
-
return resSet;
-
}
-
}