你的位置:首页 > 软件开发 > Java > JAVA 8 Streams

JAVA 8 Streams

发布时间:2016-09-29 12:00:04
什么是Stream首先要说的是,不要被它的名称骗了,这里的Stream跟JAVA I/O中的InputStream和OutputStream是两个不同的概念。Java 8中的Stream其实是函数式编程里Monad的概念,关于Monad,感觉还是比较抽象,不好理解,可以参考这篇文 ...

什么是Stream

首先要说的是,不要被它的名称骗了,这里的Stream跟JAVA I/O中的InputStream和OutputStream是两个不同的概念。Java 8中的Stream其实是函数式编程里Monad的概念,关于Monad,感觉还是比较抽象,不好理解,可以参考这篇文章,个人觉得还是比较好看懂的,简单说,Monad就是一种设计模式,表示将一个运算过程,通过函数拆解成互相连接的多个步骤,有点链式操作的感觉。

如下,是一个Stream的例子

import java.util.Arrays;import java.util.List;public class Snippet{  public static void main(String[] args)  {    List<String> myList = Arrays.asList("a1", "a2", "b1", "c2", "c1");    myList      .stream()      .filter(s -> s.startsWith("c"))    //过滤以c字母开头      .map(String::toUpperCase)    //字符变成大写      .sorted()                   //排序      .forEach(System.out::println);  //打印输出  }}

原标题:JAVA 8 Streams

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。