这就是你应该如何过滤
Collections
一般来说
List<Person> persons = new ArrayList<>();
/* Java 8+ using streams and predicate (lambda expression)*/
List<Person> personsOlderThan10 = persons.stream().filter(p -> p.age > 10).collect(Collectors.toList());
/* Java 7- using Predicates*/
List<Person> personNamedJohn = new ArrayList<>(persons);
personNamedJohn.removeIf(new Predicate<Person>() {
@Override
public boolean test(final Person person) {
if (person.getFirstName().toLowerCase().equals("john")) {
return false;
}
return true;
}
});
要想知道你的过滤器是否有任何结果,你可以简单地检查一下
Collection.isEmpty()
只需组合一个表示药物/精料过滤器的谓词,并检查是否有结果。