for (BlockSubscription blockSubscription : blockSubscriptions) { for (BlockSubscriptionData blockSubscriptionData : subscriptionCountList) { if (blockSubscription.getId() == blockSubscriptionData.getActivityId()){ if (VtuzxUtil.isEmpty(blockSubscriptionData.getSubscriptionCount())){ blockSubscription.setSubscriptionCount(0); }else { blockSubscription.setSubscriptionCount(blockSubscriptionData.getSubscriptionCount()); } break; } } for (BlockSubscriptionData blockSubscriptionData : subscriptionPeopleCountList) { if (blockSubscription.getId() == blockSubscriptionData.getActivityId()){ blockSubscription.setSubscriptionPeopleCount(blockSubscriptionData.getSubscriptionPeopleCount()); break; } } }使用stream优化此段代码
时间: 2024-01-01 13:03:27 浏览: 15
可以使用Java 8中的流(Stream)对此段代码进行优化:
```
blockSubscriptions.forEach(blockSubscription -> {
Optional<BlockSubscriptionData> subscriptionCountOptional = subscriptionCountList.stream()
.filter(blockSubscriptionData -> blockSubscription.getId() == blockSubscriptionData.getActivityId())
.findFirst();
subscriptionCountOptional.ifPresentOrElse(blockSubscriptionData -> {
blockSubscription.setSubscriptionCount(VtuzxUtil.isEmpty(blockSubscriptionData.getSubscriptionCount()) ? 0 : blockSubscriptionData.getSubscriptionCount());
}, () -> {
blockSubscription.setSubscriptionCount(0);
});
Optional<BlockSubscriptionData> subscriptionPeopleCountOptional = subscriptionPeopleCountList.stream()
.filter(blockSubscriptionData -> blockSubscription.getId() == blockSubscriptionData.getActivityId())
.findFirst();
subscriptionPeopleCountOptional.ifPresent(blockSubscriptionData -> {
blockSubscription.setSubscriptionPeopleCount(blockSubscriptionData.getSubscriptionPeopleCount());
});
});
```
使用Stream可以更简洁地完成对列表的遍历和过滤,同时使用Optional可以更好地处理可能存在的空值情况。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)