Predicate接口定义了一个名叫test的抽象方法,它接受泛型T对象,并返回一个boolean。
public class PredicateTest {
@FunctionalInterface
public interface Predicate<T>{
boolean test(T t);
}
public static <T> List<T> filter(List<T> list,Predicate<T> predicate){
List<T> results = new ArrayList<>();
for(T s:list){
if(predicate.test(s)){
results.add(s);
}
}
return results;
}
public static void main(String[] args) {
List<String> listOfStrings = new LinkedList<>();
listOfStrings.add("");
listOfStrings.add("abc");
listOfStrings.add("");
listOfStrings.add("ccc");
listOfStrings.add("");
Predic
public class PredicateTest {
@FunctionalInterface
public interface Predicate<T>{
boolean test(T t);
}
public static <T> List<T> filter(List<T> list,Predicate<T> predicate){
List<T> results = new ArrayList<>();
for(T s:list){
if(predicate.test(s)){
results.add(s);
}
}
return results;
}
public static void main(String[] args) {
List<String> listOfStrings = new LinkedList<>();
listOfStrings.add("");
listOfStrings.add("abc");
listOfStrings.add("");
listOfStrings.add("ccc");
listOfStrings.add("");
Predic