java.util.function.Predicate<T>
这里Lambda表达式定义的是test方法,返回一个布尔值
package com.stream;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class TestStream2 {
public static void main(String args[]){
Predicate<Integer> p = (i -> i>10);
long count = Stream.of(1,2,3,11,12).filter(p).count();
System.out.println(count);
}
}
java.util.function.Consumer<T> 定义了一个叫accept的抽象方法
package com.stream;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class TestStream3 {
public static void main(String args[]){
Consumer<Integer> p = (System.out::println);
Stream.of(1,2,3,11,12).forEach(p);
}
}
java.util.function.Function<T,R>接口定义了一个叫做apply的方法
package com.stream;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Stream;
public class TestStream4 {
public static void main(String args[]){
Function<Integer,Integer> f = (i->i+1);
Consumer<Integer> c = (System.out::println);
Stream.of(1,2,3,11,12).map(f).forEach(c);;
}
}