Stream流的概述及其特点,使用方法

· 在Java8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream流概念。

· 目的:用于简化集合和数组操作的API。

· Stream流式思想的核心

1.先得到集合或者数组的Stream流(就像一根传送带)。

2.把元素放上去

3.然后就用这个Stream流简化的API来方便的操作元素。

· Stream流的三类方法

1.获取Stream流

创建一条流水线,并把数据放到流水线上准备进行操作

2.中间方法

流水线上的操作,一次操作完毕之后,还可以继续进行其他操作

3.一个Stream流只能有一个终结方法,就是流水线上的最后一个操作

· 集合获取Stream流的方式

可以使用Collecting接口中的默认方法stream()生存流

default Stream<E>stream()~~~~获取当前集合对象的Stream流

· 数组获取Stream流的方式

public static <T>Stream<T>stream(T[] array)~~~~获取当前数组Stream流

public static<t>Stream<T> of(T...values)~~~~获取当前数组/可变数据的Stream流

Stream流常用的API(中间操作方法)

· Stream<T>filter(Predicate<?super T>predicate)~~~~用于对流的数据进行过滤

· Stream<T>limit(long maxSize)~~~~获取前几个元素

· Stream<T>skip(long n)~~~~跳过前几个元素

· Stream<T>distinct()~~~~去除流中重复的元素,依赖(hashCode和equals方法)

· static<T>Stream<T>concat(Stream a, Stream b)~~~~合并a,b两个流为一个流

ps:1.中间方法也称为非终结方法,调用完成后返回新的Stream流可以继续使用,支持链式编程。

        2.在Stream流中无法直接修改集合,数组中的数据。

Stream流的常见终结操作方法

· void forEach(Consumer action)~~~~对此流的每个元素执行遍历操作

· long count()~~~~返回此流中的元素

ps:终结操作方法,调用完成后就无法继续使用了,原因是不会返回Stream了。

Stream流的收集操作

· 收集Stream流的含义:就是把Stream流操作后的结果数据转回到集合或数组中去。

· Stream流:方便操作集合和数组的手段。

· 集合/数组:才是开发中的目的。

Stream流的收集方法

· R collect(Collector collector)~~~~开始收集Stream流,指定收集器。

Collectors工具类提供了具体的收集方式

· public static<T>Collector toList()~~~~把元素收集到List集合中

· public static<T>Collector toSet()~~~~把元素收集到Set集合中

· public static Collector toMap(Function keyMapper,Function valueMapper)~~~~把元素收集到Map集合中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一尾水煮鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值