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);
                  }
              });
          });;});

 

posted @ 2018-10-30 15:30  saveworld_niub  阅读(284)  评论(0)    收藏  举报