Stream和lanmda表达式
Stream和lanmda表达式
Steam的一些api配合早期c#上的Lanmda表达式
Stream分为三部分:
中间操作:map (mapToInt, flatMap 等)、 filter、 distinct、 sorted、 peek、 skip、 parallel、 sequential、 unordered
终端操作:forEach、 forEachOrdered、 toArray、 reduce、 collect、 min、 max、 count、iterator
规则是中间操作可以有多次。终端操作只能有一次
lanmda表达式中 方法引用 ::
http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/
stream api应用
用stream求100以内勾股数
IntStream.range(0, 100).forEach(x -> {
IntStream.range(0, 100).filter(y->y>x).forEach(y -> {
IntStream.range(0, 100).filter(z->z>y).forEach(z -> {
if(z*z == x*x + y*y) {
System.out.println("x:"+x+",y:"+y+",z:"+z);
}
});
});;});

浙公网安备 33010602011771号