Set.retainAll()
Оставляет в множестве только элементы, которые есть в другой коллекции (пересечение).
Доступно с: Java 1.2
Синтаксис
boolean retainAll(Collection<?> c)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| c | Collection<?> | Элементы, которые нужно оставить. |
Возвращаемое значение
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 с порядком, объединение и пересечение множеств.