Thomas Darimont
Erfahrenes Mitglied
Hallo,
hier mal ein kleines Beispiel für Mengenoperationen unter Java:
Ausgabe:
Gruß Tom
hier mal ein kleines Beispiel für Mengenoperationen unter Java:
Java:
/**
*
*/
package de.tutorials;
import java.util.HashSet;
import java.util.Set;
/**
* @author Thomas.Darimont
*
*/
public class SetExample {
/**
* @param args
*/
public static void main(String[] args) {
Set<Integer> setA = new HashSet<Integer>();
Set<Integer> setB = new HashSet<Integer>();
setA.add(2);
setA.add(5);
setA.add(8);
setA.add(9);
setB.add(5);
setB.add(7);
setB.add(8);
System.out.println("Union: " + union(setA, setB));
System.out.println("Minus: " + minus(setA, setB));
System.out.println("Intersect: " + intersect(setA, setB));
System.out.println("Complement: " + complement(setA, setB));
}
private static <TElement> Set<TElement> complement(Set<TElement> setA,
Set<TElement> setB) {
return minus(union(setA, setB), intersect(setA, setB));
}
private static <TElement> Set<TElement> intersect(Set<TElement> setA,
Set<TElement> setB) {
Set<TElement> set = new HashSet<TElement>(setA);
set.retainAll(setB);
return set;
}
private static <TElement> Set<TElement> minus(Set<TElement> setA,
Set<TElement> setB) {
Set<TElement> set = new HashSet<TElement>(setA);
set.removeAll(setB);
return set;
}
private static <TElement> Set<TElement> union(Set<TElement> setA,
Set<TElement> setB) {
Set<TElement> set = new HashSet<TElement>(setA);
set.addAll(setB);
return set;
}
}
Ausgabe:
Code:
Union: [2, 5, 7, 8, 9]
Minus: [2, 9]
Intersect: [5, 8]
Complement: [2, 7, 9]
Gruß Tom