JAVA高级知识点学习集合二 —— Stream类

Stream 简介

在 Java 8 中,提供了 Stream 类,用于对集合或数组等数据源进行一系列操作。Stream 类提供了一种便捷和功能强大的方式来处理数据流,包括过滤、映射、排序、聚合等。

Stream 特点

Stream 类的特点在于它成为处理集合和数据流的强大工具,适用于各种数据处理场景,从简单的转换到复杂的数据聚合,都可以轻松完成,其特点在于:

(1)能够实现链式操作:Stream 类支持链式操作,允许将多个操作进行串联使用,形成一条处                          理流水线。

(2)能够进行惰性求值:Stream 类的操作是惰性求值的,意味着中间的操作只有在终端操作才会被调用下执行。这有助于优化处理大数据量的情况,只对需要的数据进行处理。

(3)使用函数式的编程:Stream 操作基于函数式编程,允许使用 Lambda 表达式来定义操作,从而实现更加简洁和实用的代码。

(4)不修改原始数据:Stream 操作通常不会修改原始数据,而是生成一个新的 Stream 来存储数据,从而避免了不必要的副作用。

(5)支持并行处理:Stream 类可以容易的支持并行处理,使得某些操作可以在多个线程中执行,提高处理效率。

(6)和容器无关:Stream 类可以处理不同类型的数据源,例如集合、数组等,使得代码具有通用性。

Steam 常用方法

  1. filter():根据所给定的条件对数据进行过滤,获得符合条件的元素。
  2. map():对每个元素执行相应的映射操作,生成一个新的 Stream 对象。
  3. limit():限制 Stream 的大小,只保留指定数量的元素。
  4. count():统计 Steam 对象中的元素数量。
  5. distinct():去除重复元素。

下图为JAVA“指针”典型的例子 —— 内存地址示例,但是JAVA表面上说没有指针,但是程序内部都有指针的概念,务必不能搞混!!!!!!

如果程序报错 nullPointerExceptionc  —— 空指针异常!

内存地址存到栈User中,User取对象的具体的属性,找堆的内存地址

User user = new User( ); 

Stream与collection的区别

(1)Stream会存到另一个(变换后的集合)

(2)Collection会在原来的集合就可以直接操作

共同点:对自定义的排序有一个标准的参考——(comparable接口/comparator接口),

使用自定义类型对象排序的规则:

都用于Java中进行对象比较和排序

重写接口CompareTo( )提供的规则进行实现

Optional.ofNullable(变量名).ispresent())

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值