English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Ввод-вывод (I/O)

Java Reader/Writer

Другие темы Java

Java программа для вычисления пересечения двух коллекций

Java полная коллекция примеров

В этом примере мы изучим вычисление пересечения двух коллекций в Java.

Чтобы понять этот пример, вам следует знать следующееПрограммирование на JavaТема:

Пример 1: Вычисление пересечения двух коллекций

import java.util.HashSet;
import java.util.Set;
class Main {
  public static void main(String[] args) {
    // Создание первой коллекции
    Set<Integer> primeNumbers = new HashSet<>();
    primeNumbers.add(2);
    primeNumbers.add(3);
    System.out.println("Простые числа: " + primeNumbers);
    // Создание второй коллекции
    Set<Integer> evenNumbers = new HashSet<>();
    evenNumbers.add(2);
    evenNumbers.add(4);
    System.out.println("Четные числа: " + evenNumbers);
    // Пересечение двух коллекций
    evenNumbers.retainAll(primeNumbers);
    System.out.println("Пересечение двух коллекций: " + 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) {
    // Создание первой коллекции
    Set<String> backend = new HashSet<>();
    backend.add("Java");
    backend.add("JavaScript");
    System.out.println("Язык сервера: " + backend);
    // Создание второй коллекции
    Set<String> frontend = new HashSet<>();
    frontend.add("JavaScript");
    frontend.add("CSS");
    System.out.println("Фронтенд языки: " + frontend);
    Set<String> intersect = Sets.intersection(backend, frontend);
    System.out.println("Общий язык: " + intersect);
  }
}

Результат вывода

Бэкенд языки: [Java, JavaScript]
Фронтенд языки: [JavaScript, CSS]
Общий язык: [JavaScript]

В上面的 примере мы используем библиотеку Guava для получения пересечения двух множеств. Для выполнения этого программы вам нужно реализовать его, добавив библиотеку Guava в зависимости.

Здесь мы используем метод intersection() класса Sets из библиотеки Guava.

Java полная коллекция примеров