拉姆达语法_map的常用方法

拉姆达语法_map的常用方法importorg.apache.commons.collections4.MapUtils;@OverridepublicList<Map<String,Object>>getGuidelineSceneStatistical(StringdeptCode){List<Map<String,Object>>mapList=newArrayList<>();List<

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

import org.apache.commons.collections4.MapUtils;

 @Override
    public List<Map<String, Object>> getGuidelineSceneStatistical(String deptCode) {
        List<Map<String, Object>> mapList = new ArrayList<>();

        List<Map<String, Object>> mapSceneList = serviceStatisticalMapper.getAllGuidelineScene();
        if (mapSceneList != null && mapSceneList.size() > 0) {
     
			//对map进行操作	
            mapList = mapSceneList.stream().filter(item -> "root".equals(MapUtils.getString(item, "parentCode"))).collect(Collectors.toList());
            if (mapList != null && mapList.size() > 0) {         
                List<Map<String, Object>> mapGuideline = serviceStatisticalMapper.getAllSceneGuideline(deptCode);
              
                for (int i = 0; i < mapList.size(); i++) {
                    Map<String, Object> map = mapList.get(i);
                    String code = MapUtils.getString(map, "sceneCode");
                    List<String> childCode = mapSceneList.stream().filter(item -> code.equals(MapUtils.getString(item, "parentCode")))
                            .map(item -> MapUtils.getString(item, "sceneCode"))
                            .collect(Collectors.toList());
                    double value = 0;
                    if (childCode != null && childCode.size() > 0) {
                        if (mapGuideline != null && mapGuideline.size() > 0) {
                            int total = mapGuideline.size();
							//使用contains方法进行查询数量
							
                            long codeTotal = mapGuideline.stream().filter(item -> childCode.contains(MapUtils.getString(item, "sceneCode"))).count();
                            
                            //BigDecimal 的用法
                            value = codeTotal == 0 ? 0 : new BigDecimal((float) codeTotal * 100 / total).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                        }
                    }
                    map.put("value", value);
                }
            }
        }
        return mapList;
    }

这辈子坚持与不坚持都不可怕,怕的是独自走在坚持的道路上!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193086.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 因果图方法_因果图法符号

    因果图方法_因果图法符号因果图方法  一.方法简介  1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。  2.因果图法产生的背景:  等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

    2022年8月14日
    2
  • hostapd 配置「建议收藏」

    hostapd 配置「建议收藏」hostapd配置   Homepage:http://w1.fi/hostapd/hostapdisanIEEE802.11APandIEEE802.1X/WPA/WPA2/EAP/RADIUSAuthenticator.ThispageisdedicatedtotheLinuxdocumentationofit’simplementat

    2022年5月21日
    190
  • 架构之业务架构[通俗易懂]

    架构之业务架构[通俗易懂]业务架构之产品经理的职责产品经理的职责用户的原始需求往往是零散和碎片化的,产品经理的职责就是:告诉用户,系统长什么样子;告诉开发,他要实现什么功能。产品经理定义了系统的外表。产品经理的职责:1、收集用户的原始需求,2、梳理成一个个业务流程,每个业务流程由多个业务步骤组成。一个业务步骤包含三部分的内容:输入、输出和业务功能。3、需求梳理好后,产品经理会把每个步骤具体化为页面原型。在原型中,会以直观的方式给出各个步骤的输入或输出,以及用户的操作过程,最后再把这些页面串起来,形成一个业

    2022年10月12日
    0
  • javascript返回上一步,后退的代码

    javascript返回上一步,后退的代码第一种方法:<ahref=”javascript:history.go(-1)”>返回上一步</a><ahref=”javascript:”οnclick=”history.back();”>返回上一页</a>第二种方法:<scriptlanguage=”javascript”>window.history.back(-1);</script>…

    2022年7月25日
    6
  • python中的%s%是什么意思

    python中的%s%是什么意思python中的%s%是什么意思它是一个字符串格式化语法(它从C借用)。请参阅“格式化字符串”:Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s占

    2022年7月6日
    28
  • JSP简单练习-获取表单数据

    JSP简单练习-获取表单数据

    2022年1月28日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号