Java常用代码总结

一、在两个list中,具有相同字段的对象,进行字段求和。

例如:有医院列表1(浑南区:4家,铁西区:2家)、药店列表2(浑南区:1家,大东区:3家),现在要统计每个区域对应的定点数量。最终要统计的结果为:浑南区:5家、铁西区:2家、大东区:3家。

private List<BarDO> addList(List<BarDO> failMedPie, List<BarDO> failPhacPie) {
        List<BarDO> pieFailList = new ArrayList<>();
        if (!failMedPie.isEmpty()) {
            //将相同key对应的值相加
            Map<String, Integer> sumMap = new HashMap<>();
            for (BarDO item : failMedPie) {
                sumMap.put(item.getType(), item.getValue());
            }
            for (BarDO item : failPhacPie) {
                if (sumMap.containsKey(item.getType())) {
                    sumMap.put(item.getType(), sumMap.get(item.getType()) + item.getValue());
                } else {
                    //key不同的,添加到sumMap。
                    sumMap.put(item.getType(), item.getValue());
                }
            }
            //Map转对象
            pieFailList = sumMap.entrySet().stream()
            .flatMap(entry -> Stream.of(new BarDO(entry.getKey(), entry.getValue())))
            .collect(Collectors.toList());
        
        }
        return pieFailList;
    }

二、Object、JSONObject、Map、String相互转换

1、将JSONObject对象转成String字符串

public static String jsonObjectToString(JSONObject jsonObject) {
        return jsonObject.toJSONString();
    }

2、java对象转换为String类型的json字符串

public static String objectToJson(Object obj) {
        return JSONObject.toJSONString(obj);
    }

3、json字符串转换为java对象

public static Object jsonToObject(String jsonStr) {
        return JSONObject.parseObject(jsonStr, Object.class);
 
    }

4、json字符串转换为JSONObject对象

public static JSONObject jsonToJSONObject(String jsonObj) {
        return JSONObject.parseObject(jsonObj);
    }

5、将java对象转换为JSONObject对象

public static JSONObject objectToJSONObject(Object obj) {
        return JSONObject.parseObject(JSONObject.toJSONString(obj));
    }

6、Map转java对象

List<BarDO>  pieFailList = sumMap.entrySet().stream()
            .flatMap(entry -> Stream.of(new BarDO(entry.getKey(), entry.getValue())))
            .collect(Collectors.toList());

上一篇:刁难我胖虎(修正)-《分析模式》漫谈45


下一篇:Linux运维工程师推荐学习的开发语言-前言:会开发的运维和不会开发的运维可以说是两个世界的运维。