java 集合交并补

Posted wzzkaifa

tags:

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

通过使用泛型方法和Set来表达数学中的表达式:集合的交并补。在下面三个方法中都将第一个參数Set复制了一份,并未直接改动參数中Set。
package Set;

import java.util.HashSet;
import java.util.Set;

public class Sets {
	public  static <T> Set<T> intersection(Set<T> s1, Set<T> s2) {
		Set<T> result = new HashSet<T>(s1);
		result.retainAll(s2);
		return result;
	}

	public  static <T> Set<T> union(Set<T> s1, Set<T> s2) {
		Set<T> result = new HashSet<T>(s1);
		result.addAll(s2);
		return result;
	}
	
	//Subtract subset from superset
	public  static <T> Set<T> difference (Set<T> superset, Set<T> subset) {
		Set<T> result = new HashSet<T>(superset);
		result.addAll(subset);
		return result;
	}
	
	//Reflexive --everything not in their intersection
	public static <T> Set<T> complement(Set<T>s1,Set<T> s2){
		return difference(union(s1,s2),intersection(s1,s2));
	}
}


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

Java 2 个 List 集合数据求并补集操作

C++判断元素是否在vector中,对vector去重,两个vector求交集并集

形态学及其他集合运算(Morphological and Other Set Operations)

c_cpp 集合的交并差运算

python里面集合的集合的交并差和对称差集的求法。

宽表通用圈选洞察引擎: 任意维度的集合交并差计算 SQL 逻辑