import java.util.HashSet;
import java.util.Collection;
import java.util.function.Predicate;
public class PredicateTest2 {
public static void main(String[] args) {
Collection books = new HashSet();
books.add("java");
books.add("疯狂");
books.add("C");
System.out.println("包含疯狂的数量:"+calAll(books,obj->((String)obj).contains("疯狂")));
System.out.println("包含java的数量:"+calAll(books,obj->((String)obj).contains("java")));
System.out.println("包含C++的数量:"+calAll(books,obj->((String)obj).contains("c++")));
}
/*函数接口是只含有一个抽象方法的接口 Predicate函数接口只有一个test方法,根据条件返回boolean*/
public static int calAll(Collection books,Predicate p)
{
int total = 0;
for (Object obj : books) {
if(p.test(obj))
{
total ++;
}
}
return total;
}
}