All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aQute.lib.collections.Logic Maven / Gradle / Ivy

package aQute.lib.collections;

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

public class Logic {
	private Logic() {}

	@SafeVarargs
	public static  Collection retain(Collection first, Collection... sets) {
		Set result = new HashSet<>(first);
		for (Collection set : sets) {
			result.retainAll(set);
		}
		return result;
	}

	@SafeVarargs
	public static  Collection remove(Collection first, Collection... sets) {
		Set result = new HashSet<>(first);
		for (Collection set : sets) {
			result.removeAll(set);
		}
		return result;
	}

	@SafeVarargs
	public static  boolean hasOverlap(Collection source, Collection... toBeChecked) {
		for (T t : source) {
			for (Collection l : toBeChecked) {
				for (T r : l) {
					if (t.equals(r))
						return true;
				}
			}
		}
		return false;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy