标签:cto style ret integer type inf span copy rop
学习算法肯定是为了使程序更加的高效
1.需求:查找部分商品类目信息并且分类返回
2.代码
public ResultVO list() { // 1)查询所有上架商品 List<ProductInfo> productInfoList = productInfoService.findUpAll(); // 2)通过商品查询响应的类目 List<Integer> categoryTypeList = productInfoList.stream().map(x -> x.getCategoryType()).collect(Collectors.toList()); List<ProductCategory> productCategoryList = productCategoryService.findByCategoryTypeIn(categoryTypeList); // 3)拼装成对应的json List<ProductVO> productVOList = new ArrayList<>(); for(ProductCategory productCategory:productCategoryList){ ProductVO productVO = new ProductVO(); productVO.setCategoryName(productCategory.getCategoryName()); productVO.setCategoryType(productCategory.getCategoryType()); List<ProductInfoVO> productInfoVOList = new ArrayList<>(); for(ProductInfo productInfo:productInfoList){ if(productCategory.getCategoryType().equals(productInfo.getCategoryType()) ){ ProductInfoVO productInfoVO = new ProductInfoVO(); BeanUtils.copyProperties(productInfo,productInfoVO); productInfoVOList.add(productInfoVO); } } productVO.setProductInfoVOList(productInfoVOList); productVOList.add(productVO); } return ResultVOUtil.success(productVOList); }
首先我们查找了所有的商品,然后再将其类目查找了出来
但是我们在拼装这个json时候,我们采用了循环的方法,这个方法的时间复杂度是O(N^2),如果使用Map这个数据结构,我们的时间复杂度将会减少,具体减少就看hash算法
标签:cto style ret integer type inf span copy rop
原文地址:https://www.cnblogs.com/xzmxddx/p/10354831.html