【Java必修课】Java 8之例说Stream的合并

本文详细介绍了如何在Java 8中合并Stream,包括原生JDK的concat()和Stream.of()方法,以及第三方库StreamEx的append()和prepend(),还有Jooλ提供的相似功能。通过实例展示了各种合并方式,帮助开发者提高代码可读性和效率。
摘要由CSDN通过智能技术生成

本篇文章主要介绍几种合并stream的方法,主要有原生JDK的方法和使用第三方库StreamEx和Jooλ的方法。

原生JDK

原生的JDK 8提供的Stream里的一些静态方法,非常有用,让我们来了解一下吧。

concat()合并两个Stream

Stream<Integer> stream1 = Stream.of(1, 2, 3);
Stream<Integer> stream2 = Stream.of(4, 5);
Stream<Integer> result = Stream.concat(stream1, stream2);
assertEquals(
        asList(1, 2, 3, 4, 5),
        result.collect(Collectors.toList())
);

这是最简单的合并两个流的方式。

 

用Stream.of()合并多个流

之前的concat()方法并不支持合并多个stream,这时需要用到of(),可以实现多个stream的合并。

stream1 = Stream.of(1, 2, 3);
stream2 = Stream.of(4, 5);
Stream<Integer> stream3 = Stream.of(6, 7, 8);
result = Stream.of(stream1, stream2, stream3)
        .flatMap(i -> i);
assertEquals(
        asList(1, 2, 3, 4, 5, 6, 7, 8),
        result.co
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值