stream和懒加载

Java中的Stream是一种懒加载的数据流,也就是说,Stream并不会在定义时立即执行操作,而是在真正需要处理数据时才会执行,这种特性可以大大提高程序的效率。

当我们使用Stream时,每次调用一个Stream方法都会返回一个新的Stream对象,这个新的Stream对象并不会立即执行操作,而是等到我们需要处理数据时才会执行。例如:

List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
Stream<String> stream = list.stream().filter(s -> s.startsWith("a")).map(String::toUpperCase);

以上代码创建了一个String类型的List集合,并使用stream()方法创建一个Stream对象,然后使用filter()方法过滤出所有以字母"a"开头的字符串,并使用map()方法将它们转换成大写形式。但是,这些操作并没有立即执行,而是等到我们需要处理数据时才会执行。

当我们调用Stream对象的最终操作方法(如forEach()、count()、collect()等)时,Stream会开始执行操作,处理数据并返回结果。例如:

stream.forEach(System.out::println);  // 输出结果为 "APPLE"

以上代码调用forEach()方法来遍历Stream中的数据,并输出结果。由于Stream是懒加载的,所以在调用forEach()方法之前,之前的操作并没有执行,而是在调用forEach()方法时才会执行。

总之,Stream的懒加载特性可以大大提高程序的效率,因为它可以避免不必要的计算和内存消耗。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值