retainAll изменяет исходное множество Метод оставляет в коллекции элементы, которые ест...
retainAll изменяет исходное множество Метод оставляет в коллекции элементы, которые есть в переданной коллекции. Чтобы сохранить исходное множество, работайте с копией: var left = Set.of(1, 2, 3, 4); var right = Set.of(3, 4, 5); var intersection = new HashSet<>(left); intersection.retainAll(right); System.out.println(intersection); // элементы 3 и 4 Порядок вывода HashSet не гарантирован. Вызов retainAll на неизменяемом множестве вроде Set.of(...) завершится UnsupportedOperationException. Возвращаемый boolean сообщает, изменилась ли коллекция, а не является ли пересечение непустым. #Java Java Библиотека | Мы в Телеграм