Java8lambda表达式的使用
Java8提供很多lambda表达式,能够使得开发代码更加简洁优美。本文学习lambda后总结了一些lambda表达式的使用。
1、list.forEach
this.supplierQuoteByIdRespose.getQuoteInfo().stream().forEach(quoteItemResp -> {
List<SupplierQuoteItemInfoResp> itemGroup = quoteItemResp.getItemGroup();
itemGroup.stream().forEach(group -> {
QuoteItemDto itemDto = this.quoteItemList.stream().filter(quoteItemDto -> quoteItemDto.getEnquiryItemId()
.equals(group.getId())).findAny().orElse(null);
if (itemDto != null) {
//标记已采纳
group.setAdopt(true);
this.adopt=true;
}
});
});
2、Collectors.toMap,在很多时候我们需要将对象列表转为Map,这时候使用Collectors.toMap就会非常方便
Map<Long, TranslationInfo> mapTranslationInfo = listTranslationInfo.stream()
.collect(Collectors.toMap(TranslationInfo::getId, Function.identity(), (key1, key2) -> key2));
3、list过滤符合条件的对象
ArrayList<TranslationInfo> collect = translations.stream() .filter(y -> Objects.equals(y.getRearEndStatus(), TranslationRearEndStatusEnum.NotEnquiry.getName())) .collect(Collectors.toCollection(ArrayList::new));
4、取对象list中某个参数列表
List<String> pIds = items.stream().map(QueryDetailProductResp::getPid).collect(Collectors.toList());
5、过滤对象列表取对象中的元素列表
List<Long> pidList = translationInfoList.stream().filter(TranslationInfoDto ->
Objects.equals(saleCategoryPathForTire, TranslationInfoDto.getCategoryPath()))
.map(TranslationInfoDto::getId).collect(Collectors.toList());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律