Пока вам не нужна промежуточная коллекция, вы можете просто использовать Predicates.compose () для создания предиката, который сначала преобразует элемент, а затем оценивает предикат для преобразованного элемента.
Например, предположим, что у меня есть список , из которого я хочу удалить все элементы, в которых целочисленная часть четна. У меня уже есть функция , которая дает мне часть Integer, и предикат , который говорит мне, является ли она четной.
Я могу использовать их для получения нового предиката, INTEGER_PART_IS_EVEN
Predicate<Double> INTEGER_PART_IS_EVEN = Predicates.compose(IS_EVEN, DOUBLE_TO_INTEGER);
Collections2.filter(dblList, INTEGER_PART_IS_EVEN).clear();