java 8 stream api_JDK8新特性——Stream API

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 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 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 Stream iterate(final T seed, final UnaryOperator f);

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

1 public static Stream generate(Supplier s);

使用

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

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

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

未完待补充……

你可能感兴趣的:(java,8,stream,api)