Basic concept: Lambda 表达式是对象, 只有一个函数的function Interface
定义有三种函数接口: Function< T, R> , Consumer<>, Predicate
常用的Collections 函数式:
foreach 用的是Consumer
filter
which takes a Predicate
interface as a parameter.
MapReduce example:
public void distinctPrimary(String... numbers) {
List<String> l = Arrays.asList(numbers);
List<Integer> r = l.stream()
.map(e -> new Integer(e))
.filter(e -> Primes.isPrime(e))
.distinct()
.collect(Collectors.toList());
System.out.println("distinctPrimary result is: " + r);
}
官方文档
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html
http://blog.csdn.net/ioriogami/article/details/12782141
http://www.oschina.net/translate/java-8-lambda-expressions-examples
http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
http://www.oschina.net/question/12_59047
http://www.infoq.com/cn/articles/Java-se-8-lambda
http://www.open-open.com/lib/view/open1365053088359.html