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> numbers = new HashSet<>();
    numbers.add(1);
    numbers.add(2);
    numbers.add(3);
    numbers.add(4);
    System.out.println("Числа: " + numbers);
    // Создание второй коллекции
    Set<Integer> primeNumbers = new HashSet<>();
    primeNumbers.add(2);
    primeNumbers.add(3);
    System.out.println("Простые числа: " + primeNumbers);
    // Разность между HashSet1 и HashSet2
    numbers.removeAll(primeNumbers);
    System.out.println("Числа без простых чисел: " + numbers);
    }
}

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

Числа: [1, 2, 3, 4]
Простые числа: [2, 3]
Числа без простых чисел: [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) {
    // Создание первой коллекции
    Set<String> languages1 = new HashSet<>();
    languages1.add("Java");
    languages1.add("JavaScript");
    languages1.add("English");
    languages1.add("Spanish");
    System.out.println("Язык: " + languages1);
    // Создание второй коллекции
    Set<String> languages2 = new HashSet<>();
    languages2.add("English");
    languages2.add("Spanish");
    System.out.println("Человеческие языки: " + languages2);
    Set<String> intersect = Sets.difference(languages1, languages2);
    System.out.println("Языки программирования: " + intersect);
  }
}

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

Языки: [Java, JavaScript, English, Spanish]
Человеческие языки: [English, Spanish]
Программирование языки: [Java, JavaScript]

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

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

Java полные примеры