过滤时获取谓词的反向?

Get reverse of predicate when Filtering?

我了解谓词的基础知识并理解以下从 this question

复制的代码
Predicate<Integer> isEven = new Predicate<Integer>() {
    @Override public boolean apply(Integer number) {
        return (number % 2) == 0;
    }               
};
Iterable<Integer> evenNumbers = Iterables.filter(numbers, isEven);

但是是否可以为不匹配谓词的项获取一个可迭代对象(不更改谓词代码)?

使用Predicates#not(Predicate).

Iterable<Integer> oddNumbers = Iterables.filter(numbers, Predicates.not(isEven));

你可以试试:

removeIf(Iterable, Predicate) -->   Removes all elements satisfying the predicate, using the Iterator.remove() method.  

Iterators.removeIf(Iterator, Predicate)

可以找到更多信息here