zoukankan      html  css  js  c++  java
  • 项目中,使用算法的简单例子

    1.为什么要学习算法

    学习算法肯定是为了使程序更加的高效

    2.简单使用例子

    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算法

  • 相关阅读:
    python两个dict相加
    rpm命令
    python logging模块不支持多进程写到一个log文件
    技术论坛地址收集
    visudo命令编辑修改/etc/sudoers配置文件
    健康是什么
    .net文件类型种种
    禁止脚本的运行
    静态页面的值传递
    datagrid数据导出到excel文件给客户端下载的几种方法 (转)
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/10354831.html
Copyright © 2011-2022 走看看