Lambda 表达式

 我来答
白露饮尘霜17
2022-07-17 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6325
采纳率:100%
帮助的人:32.7万
展开全部

Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
JDK 也提供了大量的内置函数式接口供我们使用,使得 Lambda 表达式的运用更加方便、高效。

在创建线程并启动时可以使用匿名内部类的写法;

IntBinaryOperator是一个接口,使用匿名内部类的写法调用该方法;

IntPredicate是一个接口。先使用匿名内部类的写法调用该方法;

Function是一个接口,先使用匿名内部类的写法调用该方法;

IntConsumer是一个接口,先使用匿名内部类的写法调用该方法;

Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作。

Stream可以由数组或集合创建,对流的操作分为两种:

Stream特性:

Stream创建方式有三种:

map,可以将一个流的元素按照一定的映射规则映射到另一个流中;

map,接收一个函数作为参数,该函数会被应用到每个元素上,并将其映射成一个新的元素。

filter,对流中的元素进行条件过滤,符合过滤条件的才能继续留在流中;

filter,按照一定的规则校验流中的元素,将符合条件的元素提取到新的流中的操作。

distinct,去除流中的重复元素;

sorted(),自然排序,流中元素需实现Comparable接口;

sorted(Comparator com),Comparator排序器自定义排序。

limit,可以设置流的最大长度,超出的部分将被抛弃;

skip,跳过流中的前n个元素,返回剩下的元素;

flatMap,接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成一个流;

map只能把一个对象转换成另一个对象来作为流中的元素。而flatMap可以把一个对象转换成多个对象作为流中的元素。

forEach方法,通过 Lambda 表达式的方式遍历集合中的元素;

forEach,对流中的元素进行遍历操作,通过传入的参数去指定对遍历到的元素进行什么具体操作。

count,用来获取当前流中元素的个数;

max&min,可以用来或者流中的最值。

collect,把当前流转换成一个集合;

collect,把一个流收集起来,最终可以是收集成一个值也可以收集成一个新的集合;流不存储数据,那么在流中的数据完成处理后,需要将流中的数据重新归集到新的集合里。

reduce,把一个流缩减成一个值,能实现对集合求和、求乘积和求最值操作;

reduce,对流中的数据按照你指定的计算方式计算出一个结果。

文章来自https://www.cnblogs.com/HOsystem/p/16084816.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式