Разность двух множеств в Java — метод Set.removeAll
Пример 1: Вычисление разности двух множеств
import java.util.HashSet;
import java.util.Set;
class Main {
public static void main(String[] args) {
// create first set
Set<Integer> numbers = new HashSet<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
System.out.println("Numbers: " + numbers);
// create second set
Set<Integer> primeNumbers = new HashSet<>();
primeNumbers.add(2);
primeNumbers.add(3);
System.out.println("Prime Numbers: " + primeNumbers);
// Difference between HashSet1 and HashSet2
numbers.removeAll(primeNumbers);
System.out.println("Numbers without prime numbers: " + numbers);
}
}
Вывод:
Numbers: [1, 2, 3, 4]
Prime Numbers: [2, 3]
Numbers without prime numbers: [1, 4]
В приведённом примере мы создали два множества numbers и primeNumbers, реализованных с помощью HashSet. Обратите внимание на строку:
numbers.retainAll(primeNumbers);
Здесь мы использовали метод removeAll() для вычисления разности двух множеств.
Пример 2: Получение разности двух множеств с помощью библиотеки Guava
import java.util.HashSet;
import java.util.Set;
import com.google.common.collect.Sets;
class Main {
public static void main(String[] args) {
// create the first set
Set<String> languages1 = new HashSet<>();
languages1.add("Java");
languages1.add("JavaScript");
languages1.add("English");
languages1.add("Spanish");
System.out.println("Languages: " + languages1);
// create second set
Set<String> languages2 = new HashSet<>();
languages2.add("English");
languages2.add("Spanish");
System.out.println("Human Languages: " + languages2);
Set<String> intersect = Sets.difference(languages1, languages2);
System.out.println("Programming Languages: " + intersect);
}
}
Вывод:
Languages: [Java, JavaScript, English, Spanish]
Human Languages: [English, Spanish]
Programming Languages: [Java, JavaScript]
В приведённом примере мы использовали библиотеку Guava для получения разности двух множеств. Чтобы запустить программу, нужно добавить Guava в зависимости проекта.
Здесь использован метод difference() класса Sets из библиотеки Guava.