数据格式化代码

原数据形式

  

 优化后

  

 独立代码:

复制代码
    // 数据格式化代码
    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;
    }
复制代码

 

posted @   青核桃啊  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示