(java)java1.8流Stream

本文详细介绍了Java 1.8的Stream API,包括创建流、流的中间操作如sorted()、filter()、map()、limit()、skip()和distinct(),以及终止操作如forEach()和collect()。强调了流的特性,如懒加载和不可存储元素,提供了使用Stream API处理集合的便捷方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流的几个特性

  1. 流并不会改变原始数据。只是数据的视图
  2. 流是懒加载的,所谓懒加载是指流不会立即执行而是在流需要的时候再去加载
  3. 流分为中间操作和终止操作,顾名思义中间操作可以有好多种,而终止操作只有一种
  4. 重要的一点为 流不能存储元素的!

对流的理解:流是为了方便开发人员遍历集合的一种便利的API

创建流

//通过数组的形式获得
String[] arr = new String[] {"aa","bb","cc"};
Stream<String> stream = Arrays.stream(arr);
//通过list获得
List<String> list = Arrays.asList("aa","bb","cc");
Stream<String> listStream = list.stream();
//直接获得
Stream<String> string = Stream.of("aa","bb","cc");

流的中间操作

sorted() 排序
filter() 过滤
map()映射即对当中的每一个元素进行操作并且得到新的元素
limit() 截断获得指定长度的流
skip() 跳过指定长度的流
distinct()去重

流的终止操作

forEach()遍历每个流的元素
collect()把流元素收集起来

如果想要生成一个Set,代码为 stream.collect(Collectors.toSet())
还有更多的 forEach、 forEachOrdered、 toArray、 reduce、 collect、 min、 max、 count、 anyMatch、 allMatch、 noneMatch、 findFirst、 findAny、 iterator

具体实例的文章参考:
https://blog.youkuaiyun.com/chenhao_c_h/article/details/80691284

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值