【Java8】函数式编程中部分函数的解释

工作看到一行代码不太了解,临时百度之,才知道是Java8的函数式编程。目前(2020.8.16)只有浅显的了解,记录。
(ruleConditionList = ArrayList<DiversionConditionModel>)

Map<Integer, DiversionConditionModel> map = ruleConditionList.stream()
                .collect(Collectors.toMap(DiversionConditionModel::getConditionId, x -> x));

list.stream():把list变成流,以进行下一步操作。
collect():收集函数。
Collectors.toMap(a, b):将括号中的参数变成映射对。
DiversionConditionModel::getConditionId:在这里表示调用DiversionConditionModel.getConditionId(具体可百度双冒号的用法)。
x -> x:箭头函数比较常见,在这里等同于function(x) { return x }。

因此开始那行代码的大致意思是:
从ruleConditionList的流中逐个取出DiversionConditionModel,将其ConditionId作为key、DiversionConditionModel为value,组成一个个映射对,最后组成map。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值