经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
JDK8新特性——Stream API
来源:cnblogs  作者:鲨猫  时间:2019/6/12 12:59:53  对本文有异议

JDK8新特性——Stream API

摘要:本文主要学习了JDK8的新特性中有关Stream API的使用。

部分内容来自以下博客:

https://blog.csdn.net/icarusliu/article/details/79495534

概述

Stream API(java.util.stream)把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。

Stream是JDK8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Stream API来并行执行操作。简言之,Stream API提供了一种高效且易于使用的处理数据的方式。

创建

创建空的Stream对象

1 Stream stream = Stream.empty();

通过集合类中的stream()方法或者parallelStream()方法创建

1 List<String> list = Arrays.asList("a", "b", "c", "d");
2 Stream stream = list.stream();// 获取串行的Stream对象
3 Stream parallelStream = list.parallelStream();// 获取并行的Stream对象

通过数组工具类Arrays的stream()方法创建

1 String[] arr = {"a", "b", "c", "d"};
2 Stream<String> stream = Arrays.stream(arr);

通过Stream中的of()方法创建

1 Stream stream = Stream.of("test");
2 Stream stream = Stream.of("a", "b", "c");

通过Stream中的iterate()方法创建有序的Stream

1 public static<T> Stream<T> iterate(final T seed, final UnaryOperator<T> f);

通过Stream中的generate()方法创建无序的Stream

1 public static<T> Stream<T> generate(Supplier<T> s);

使用

Stream对象提供多个非常有用的方法,这些方法可以分成两类:

中间操作:将原始的Stream转换成另外一个Stream,如filter返回的是过滤后的Stream。

终端操作:产生的是一个结果或者其它的复合操作,如count或者forEach操作。

未完待补充……

原文链接:http://www.cnblogs.com/shamao/p/11008557.html