java8 lamaba表达式使用
java8中lamaba表达式给我们提供了一系列流式操作,函数式编程思想,特别熟在list和map等操作上,提供了方便快捷的并发流操作。
- List 与map复杂转化
List productSimpleList = productDao.getProductListByKeyWordsAndOrgIdRangeKeys(queryParam);
// //最终目标结果list
List productRpcDTOList=new ArrayList<>();
skuIdList=productSimpleList.stream().map(OrgProductSimpleDTO::getSkuId).distinct().collect(Collectors.toList());
// //将结果集转化为key为skuId的value为simpleProduct的map
Map resultMap=productSimpleList.stream().collect(Collectors.toMap(OrgProductSimpleDTO::getSkuId,orgProductSimpleDTO -> orgProductSimpleDTO));
skuIdList.stream().forEach(s -> {
OrgProductRpcDTO dto=new OrgProductRpcDTO();
BeanUtils.copyProperties(resultM