断言型接口
public class TestFunctional2 {
public static void main(String[] args) {
List<Integer > list = new ArrayList<>();
Collections.addAll(list,34,56,89,65,87);
//使用匿名内部类实现
System.out.println(list);
Predicate predicate = new Predicate<Integer>(){
@Override
public boolean test(Integer i) {
if(i<60){
return true;
}
return false;
}
};
list.removeIf(predicate);
System.out.println(list);
//使用Lambda表达式实现
list.removeIf((i)->{if(i>80) {
return true;
}
return false;
});
System.out.println(list);
}
}
使用方法来做加上Lambda表达式
public class TestFunctional3 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
Collections.addAll(list, "Java", "MySQL", "HTML", "JSP", "SSM");
System.out.println(list);
int length = 4;
Predicate<String> predicate = (elem) -> elem.length()>=length?true:false;
List<String> list2 = retailIf(predicate, list);
System.out.println(list2);
}
public static List retailIf(Predicate predicate, List<String> list) {
List<String> list2 = new ArrayList<>();
for (String elem : list) {
if (predicate.test(elem)) {
list2.add(elem);
}
}
return list2;
}
}