В этом примере мы научимся вычислять пересечение двух множеств в Java.
Чтобы понять этот пример, вы должны знать следующие темы программирования Java:
- Интерфейс набора Java
- Класс Java HashSet
Пример 1: вычислить пересечение двух множеств
import java.util.HashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create first set Set primeNumbers = new HashSet(); primeNumbers.add(2); primeNumbers.add(3); System.out.println("Prime Numbers: " + primeNumbers); // create second set Set evenNumbers = new HashSet(); evenNumbers.add(2); evenNumbers.add(4); System.out.println("Even Numbers: " + evenNumbers); // Intersection of two sets evenNumbers.retainAll(primeNumbers); System.out.println("Intersection: " + evenNumbers); ) )
Вывод
Простые числа: (2, 3) Четные числа: (2, 4) Пересечение: (2)
В приведенном выше примере мы создали два набора с именами primeNumbers и evenNumbers. Мы реализовали набор с помощью HashSet
класса. Обратите внимание на линию,
evenNumbers.retainAll(primeNumbers);
Здесь мы использовали retainAll()
метод, чтобы получить пересечение двух множеств.
Пример 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 backend = new HashSet(); backend.add("Java"); backend.add("JavaScript"); System.out.println("Backend Languages: " + backend); // create second set Set frontend = new HashSet(); frontend.add("JavaScript"); frontend.add("CSS"); System.out.println("Frontend Languages: " + frontend); Set intersect = Sets.intersection(backend, frontend); System.out.println("Common Languages: " + intersect); ) )
Вывод
Языки внутреннего интерфейса: (Java, JavaScript) Языки внешнего интерфейса: (JavaScript, CSS) Общие языки: (JavaScript)
В приведенном выше примере мы использовали библиотеку Guava, чтобы получить пересечение двух наборов. Чтобы запустить эту программу, вам необходимо реализовать библиотеку Guava, добавив ее в свою зависимость.
Здесь мы использовали intersection()
метод класса Sets, присутствующий в библиотеке Guava.