当前位置:嗨网首页>书籍在线阅读

34-使用流处理大数据集

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.13 使用流处理大数据集

Stream 是一系列被串行或并行地过滤和转换,从而得到最终结果的元素。最终结果可以是原生类型的值、普通对象,也可以是一种数据结构。下面这些特性更清楚地定义了Stream。

  • 流不是一种数据结构,它是一系列的数据。
  • 可以从不同的源上创建流,比如集合(列表、数组……),文件,字符串,或是一个向流提供元素的类。
  • 无法单独访问流中的一个元素。
  • 无法修改流的源。
  • 流定义了两类操作:一类是中间操作,这类操作对流中的元素进行转换、过滤、映射或排序,从而生成一个新的Stream;另一类是生成最终结果的结尾操作。零到多个中间操作和一个结尾操作形成了流的流水线。
  • 中间操作是延迟执行的。在结尾操作开始执行之前,中间操作是不会执行的。如果Java检测到一个中间操作不影响最终结果的话,那么就会避免在流的一个或多个元素上执行它。

在实现一个并发处理大数据集的操作时,可以使用 Java并发API 提供的不同元素。它们主要有 fork/join框架Executor框架 ,但最好的选择应该是并行流。本节将实现一个案例来阐明并行流的优势。