首页 > 其他分享 >数据格式化代码

数据格式化代码

时间:2023-07-07 12:33:24浏览次数:42  
标签:Map 格式化 specList 代码 specMap specValue key 数据

原数据形式

  

 优化后

  

 独立代码:

    // 数据格式化代码
    private Map<String, Set<String>> convertSpecList(List<String> specList) {
        Map<String, Set<String>> specMap = new HashMap<>();
        //TODO 参数校验
        if (CollectionUtils.isEmpty(specList)) {
            return null;
        }
        //TODO 修改结构代码
        for (String spec : specList) {
            // spec = "{'颜色': '黑色', '版本': '6GB+128GB'}"
            Map<String, String> map = JSON.parseObject(spec, Map.class);  // {'颜色': '黑色', '版本': '6GB+128GB'}
            Set<String> keys = map.keySet();
            for (String key : keys) {  // 颜色
                String value = map.get(key);  // 蓝色
                Set<String> specValue = specMap.get(key);
                if (specValue == null) {
                    specValue = new HashSet<>();
                }
                specValue.add(value);  // 蓝色
                // {'颜色': ['蓝色','黑色'], '版本': ['6GB+128GB','4GB+64GB']}
                specMap.put(key, specValue);
            }
        }

        return specMap;
    }

 

标签:Map,格式化,specList,代码,specMap,specValue,key,数据
From: https://www.cnblogs.com/Rover20230226/p/17534640.html

相关文章

  • 代码坏味道的变迁
    2018年,MartinFowler的《重构》第二版出版,距离第一版,已经19年了。为什么作者要出新版?通过分析两个版本的变化,可以探知端倪。这些变化,一方面体现了作者多年的思考和总结,另一方面也体现了技术潮流的演进。本文先从讨论坏味道的变迁开始。《重构》第一版中有22种坏味道,第二......
  • 数据结构
    绪论基本概念数据数据是信息的载体,是描述客观事物属性的数,字符及所有能输入到计算机中并被计算机程序识别和处理的符号集合,数据时计算机加工的原料。数据元素数据项数据元素:数据的基本单位数据项:数据元素由多个数据项组成数据结构数据对象结构:各元素之间的关系数据......
  • 代码的坏味道 《重构改善既有代码的设计》
    1.DuplicatedCode重复代码,在程序中多次出现的相同结构或功能的代码同一个类中的两个函数含有相同的表达式两个互为兄弟的子类中含相同的表达式相互独立的类中出现相同表达式2.LongMethod过长的函数难以理解及维护段函数或间接层具有很强的解释能力、共享能力和选择能......
  • 代码的坏味道
    代码坏味道:是指在代码之中潜在问题的警示信号。并非所有的坏味道所指示的确实是问题,但是对于大多数坏味道,均很有必要加以查看,并作出相应的修改。1. 重复的代码如果你在一个以上的地点看到相同的程序结构,那么当可肯定:设法将它们合而为一,程序会变得更好。同一个class内的两个......
  • Mysql删除重复数据 保留一条最新数据
    --查看重复数据SELECT`item_id`,COUNT(1)FROMapp_wineGROUPBY`item_id`HAVINGCOUNT(1)>1--删除重复数据保留一条最新数据DELETEFROMapp_wineWHEREidNOTIN(SELECTt.min_idFROM(--过滤出重复多余的数据,比如,如果所有记录中存在1条记录是u......
  • 根据paentId 去删选数据
    functionparseTree(tree){constres=[]array.forEach(item=>{//如果item中有children,则递归调用item.parentId=item.parentId||0;letid=item.idletchildren=item.childrenif(children){children.forEa......
  • 项目受源代码管理。向源代码管理注册此项目时出错。建议不要对此项目进行任何更改
    http://www.noobyard.com/article/p-uweyzjzb-cp.html编译Rocket.Windows.Framework项目的时候提示如题的错误,html 用记事本打开出错的几个项目的.csproj文件,把下面几行内容删掉就好了。vue   <SccProjectName>Svn</SccProjectName>  <SccLocalPath>Svn</SccLocalP......
  • java 关于数据库外键
    查询性能:当查询涉及到外键关系时,数据库需要进行额外的操作来验证关联关系的完整性,这可能会导致查询速度变慢。特别是在大型数据库系统中,外键的验证操作可能会消耗较多的计算资源和时间。更新性能:当更新外键相关的数据时,数据库需要确保更新操作不会破坏关联关系的完整性。这可......
  • 使用Ajax进行数据请求
    ​一、Ajax开源库有很多选择,大家可以根据需求自己选择jQuery:jQuery是一个广泛应用的JavaScript库,它提供了简洁而强大的API来处理Ajax请求。通过$.ajax()方法或其简化的$.get()和$.post()方法,可以轻松地发送异步请求和处理服务器响应。Axios:Axios是一个基于Promise的现代化H......
  • 推荐一个下载股票相关数据的库——tuhsare
    大家好,我是皮皮。一、前言这个事情还得从前几天在Python白银群【厚德载物】问了一个Python股票网络爬虫的问题说起,因为这个股票数据抓取的问题,引发了大家激烈的探讨,以致于后来大佬们纷纷参与进来。二、实现过程这里【袁学东】分享了一个tushare库,处理股票数据的专业库来着。......