Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Set.retainAll()

Оставляет в множестве только элементы, которые есть в другой коллекции (пересечение).

Доступно с: Java 1.2

Синтаксис

boolean retainAll(Collection<?> c)

Параметры

ПараметрТипОписание
cCollection<?>Элементы, которые нужно оставить.

Возвращаемое значение

boolean`true`, если множество изменилось.

Примеры

Общие навыки двух кандидатов:

void main() {
    Set<String> anna = Set.of("java", "sql", "docker");
    Set<String> oleg = Set.of("java", "docker", "go");
    Set<String> common = new TreeSet<>(anna);
    common.retainAll(oleg);
    IO.println(common);
}

Результат:

[docker, java]

Примечания

Метод объявлен в Collection и работает и со списками. Он меняет коллекцию, у которой вызван, поэтому для пересечения двух неизменяемых множеств сначала создайте изменяемую копию.

См. также

  • Set.removeAll() — Удаляет из множества все элементы другой коллекции (разность).
  • Set.addAll() — Объединяет множество с другой коллекцией.
  • Set.contains() — Проверяет, есть ли элемент в множестве.

Вопросы и ответы по теме

В учебнике

  • Множества: Set — Множества в Java: HashSet без повторов, LinkedHashSet и TreeSet с порядком, объединение и пересечение множеств.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.