拉姆达语法_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;
    }

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Laravel 5框架Mutator,Scope

    Laravel 5框架Mutator,Scope首先修改控制器:publicfunctionstore(){Article::create(Request::all());returnredirect(‘articles’);}然后修改视图,添…

  • TDD-LTE与FDD-LTE区别之频段分配[通俗易懂]

    TDD-LTE与FDD-LTE区别之频段分配[通俗易懂]之前转载了一个惯有TDD与FDD异同点比较的博客,看了之后觉得还是根据异同点进行分类整理一下,这样应该能够更好的有利于大家的记忆与理解。所以这一节我们就先来整理一下这两者的频段与双工方式的区别。TDD与FDD分别是时分双工和频分双工的英文简写;FDD系统在发送和接收数据上使用不同的频率,在上行和下行频率之间有双工间隔,现在常见的2G,3G制式的网络中,GSM,CDMA,WCDM

  • log4j使用教程详解(怎么使用log4j2)_log4j配置详解

    log4j使用教程详解(怎么使用log4j2)_log4j配置详解日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/log4j可以免费下载到Log4j最新版本的软件包。

    2022年10月25日
  • 测试用例和缺陷报告的区别_测试用例怎么写 实例

    测试用例和缺陷报告的区别_测试用例怎么写 实例测试用例和缺陷报告模板对于测试工程师,必备技能之一便是测试用例的编写和软件缺陷报告的编写啦~下面提供一些模板还有项目实战样例供大家参考参考,通过Excel表格编写测试用例缺陷报告模板下面来个实战案例在线课程作业管理系统项目测试用例(部分)缺陷报告实例…

  • PHP的反射类ReflectionClass、ReflectionMethod使用实例

    PHP的反射类ReflectionClass、ReflectionMethod使用实例简介PHPReflectionAPI是PHP5才有的新功能,它是用来导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。用得比较多的就只有两个ReflectionClass与ReflectionObject,两个的用法都一样,只是前者针对类,后者针对对象,后者是继承前者的类;然后其中又有一些属性或方法能返回对应的Reflection对象反射是什么?它是指在PHP运行状态中,扩展分析PH…

  • java运行环境安装及配置教程

    java运行环境安装及配置教程用来进行web开发的工具有很多,Tomcat是其中一个开源的且免费的javaWeb服务器,是Apache软件基金会的项目。电脑上安装配置Tomcat的方法和java有些相同,不过首先需要配置好java的环境才行。一.java环境的配置1.下载安装javaJDK,注意安装的路径,我们需要进行环境变量的配置(安装jdk随意选择目录只需把默认安装目录\java之前的目录修改即可)

发表回复

您的电子邮箱地址不会被公开。

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