pie*_*154 11 java arrays search rules predicates
不太确定如何说出这个问题.我想知道是否有一种方法来检查自定义java类的某些部分,看它是否符合某个标准.比如这个
public Name(String forename, String middlename, String surname)
Run Code Online (Sandbox Code Playgroud)
然后当创建该类的实例数组时,
Name[] applicants = new Name[4];
applicants[0] = new Name("john","bob", "rush");
applicants[1] = new Name("joe","bob", "rushden");
applicants[2] = new Name("jack","bob", "rushden");
applicants[3] = new Name("jake","bob", "rushden");
Run Code Online (Sandbox Code Playgroud)
是否可以搜索类的实例
midddlename.equals("bob") && surname.equals("rush")
Run Code Online (Sandbox Code Playgroud)
我并不是在寻找解决方案if(surname.equals("bob")) then else等等
但更多内置的java类允许快速搜索数组.速度非常重要.
Mik*_*ike 14
没有内置支持,但Apache Collections和Google Collections都提供Predicate对集合的支持.
您可能会发现此问题及其答案有用.与此developer.com文章相同.
例如,使用Google Collections:
final Predicate<name> bobRushPredicate = new Predicate<name>() {
public boolean apply(name n) {
return "bob".equals(n.getMiddlename()) && "rush".equal(n.getSurname());
}
}
final List<name> results = Iterables.filter(applicants, bobRushPredicate));
Run Code Online (Sandbox Code Playgroud)