使用谷歌番石榴:
过滤Collection 的学生姓名
public Collection<String> findStudents(String filter) {
Iterable<String> filteredStudents = Iterables.filter(listOfStudentNames, Predicates.containsPattern(filter));
return Lists.newArrayList(filteredStudents);
}
过滤Collection<Student>
public Collection<Student> findStudents(String filter) {
Iterable<Student> filteredStudents = Iterables.filter(listOfStudents, new Predicate<Student>() {
@Override
public boolean apply(Student student) {
return student.getName().contains(filter);
}
}
}
return Lists.newArrayList(filteredStudents);
例子:
Iterable<String> filtered = Iterables.filter(Arrays.asList("asdf", "bsdf", "eeadd", "asdfeeee", "123"), Predicates.containsPattern("df"));
filtered 现在包含 [asdf, bsdf, asdfeeee]