首页 > 其他分享 >(5条消息) map干掉两个for循环案例,空间复杂度优化_学习微站的博客-CSDN博客_map空间复杂度

(5条消息) map干掉两个for循环案例,空间复杂度优化_学习微站的博客-CSDN博客_map空间复杂度

时间:2022-11-27 16:39:34浏览次数:67  
标签:map openShopGroupDetailList 复杂度 List 博客 item shopTemplateGroupResp new CollectSh

map干掉两个for循环,​​空间复杂度​​优化

//分组遍历
if (CollectionUtils.isNotEmpty(dictGroupList)) {
dictGroupList.forEach(dicGroup -> {
CollectShopCompareResp.ShopTemplateGroupResp shopTemplateGroupResp =
new CollectShopCompareResp.ShopTemplateGroupResp();
shopTemplateGroupResp.setDictGroup(dicGroup.getDictGroup());
shopTemplateGroupResp.setAttrTitle(dicGroup.getDataGroupText());
List<CollectShopCompareResp.ShopTemplateDetailResp> shopDetailList = new LinkedList<>();
openShopDetailList.forEach(item -> {
String attrKey = item.getAttrKey();
SysDataDict sysDataDict = allDataMap.get(attrKey);
String dictGroup2 = sysDataDict.getDictGroup();
if (dicGroup.equals(dictGroup2)) {
shopDetailList.add(item);
}
});
if (CollectionUtils.isNotEmpty(shopDetailList)) {
shopTemplateGroupResp.setShopDetailList(shopDetailList);
}
openShopGroupDetailList.add(shopTemplateGroupResp);
});
}

干掉

private List<CollectShopCompareResp.ShopTemplateGroupResp>
generateShopGroupDetail(Map<String, SysDataDict> allDataMap,
List<CollectShopCompareResp.ShopTemplateDetailResp> openShopDetailList) {
List<CollectShopCompareResp.ShopTemplateGroupResp> openShopGroupDetailList = new LinkedList<>();
if (CollectionUtils.isNotEmpty(openShopDetailList)) {
//获取已有分组信息
List<SysDataDict> dictGroupList = new LinkedList<>();
openShopDetailList.forEach(item -> {
String attrKey = item.getAttrKey();
SysDataDict sysDataDict = allDataMap.get(attrKey);
dictGroupList.add(sysDataDict);
item.setDictGroup(sysDataDict.getDictGroup());
});
Map<String, List<SysDataDict>> dictGroupMap = dictGroupList.stream()
.collect(Collectors.groupingBy(SysDataDict::getDictGroup));
Map<String, List<CollectShopCompareResp.ShopTemplateDetailResp>> detailMap = openShopDetailList.stream()
.collect(Collectors.groupingBy(CollectShopCompareResp.ShopTemplateDetailResp::getDictGroup));
if (null == dictGroupMap || null == detailMap) {
return openShopGroupDetailList;
}
//分组标题及内容
dictGroupMap.keySet().forEach(item -> {
CollectShopCompareResp.ShopTemplateGroupResp shopTemplateGroupResp
= new CollectShopCompareResp.ShopTemplateGroupResp();
shopTemplateGroupResp.setDictGroup(item);
shopTemplateGroupResp.setAttrTitle(allDataMap.get(item).getDataGroupText());
shopTemplateGroupResp.setShopDetailList(detailMap.get(item));
openShopGroupDetailList.add(shopTemplateGroupResp);
});
}
return openShopGroupDetailList;
}

标签:map,openShopGroupDetailList,复杂度,List,博客,item,shopTemplateGroupResp,new,CollectSh
From: https://blog.51cto.com/u_14604401/5890166

相关文章

  • 斐波那契散列算法和hashMap实践
    斐波那契散列和hashMap实践适合的场景:抽奖(游戏、轮盘、活动促销等等)如果有不对的地方,欢迎指正!HashMap实现数据散列:配置项目,引入pom.xml:<dependency><groupId>......
  • 记一次博客园随笔被爬经历
    上篇随笔发布后,一天内,十几个爬虫网站爬取了我的随笔,有些网站非但没有注明来源,反而将自己标为博文的原创者,并更改了图像水印,这篇被爬的随笔虽浏览量不大,但好歹是自己一字一......
  • 基于.NetCore开发博客项目 StarBlog - (20) 图片显示优化
    前言我的服务器带宽比较高,博客部署在上面访问的时候几乎没感觉有加载延迟,就没做图片这块的优化,不过最近有小伙伴说博客的图片加载比较慢,那就来把图片优化完善一下吧~目前......
  • 【ClickHouse】How to create index for Map Type Column or one key of it?
    HowtocreateindexforMapTypeColumnoronekeyofit?[version21.8.10revision54449]#31801Youcancreateindexformapkeys,orformapvalues.Example:C......
  • 基于halo搭建博客,替换joe2.0卜算子为51LA
    网站底部统计访客效果改造前改造后简介【卜算子】“卜蒜子”与百度统计谷歌分析等有区别:“卜蒜子”可直接将访问次数显示在您在网页上(也可不显示);对于已经上线一段时间的网......
  • semaphore
    信号量信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,它负责协调各个线程,以保证它们能够正确、合理的使用公共资源。信号量的概念Semapho......
  • 使用open live write发布博客园的博客
    官方教程的FAQ:http://www.cnblogs.com/zsy/p/5859928.html包含了几个工具可以都看看-------------------------------------------------------------------------------......
  • Redis学习(八)之redis中的数据类型之bitmaps类型
      1、集合的每个成员相当于整数的0-N。 2、每个bit就是一个权限,类似文件系统。这两句让我一脸懵。。。。其实就是用bit位来存储0和1,可以用来存储布尔型的数据,一个b......
  • .NetCore【工作应用】AutoMapper
    AutoMapperOOM(Object-Object-Mapping)组件为了实现实体间的相互转换,从而避免我们每次采用手工的方式进行转换。使用安装nuget包install-packageAutoMapperinstall-......
  • typimg: typora中一键上传图片到博客园(工具开源)
    项目介绍项目背景个人经常使用Typora这一软件,在编写md文档时,图片可以暂存本地,文章中可以使用本地图片的绝对路径或相对路径,痛点就是不利于以后文档的迁移和平台的变......