拉姆达语法_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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《畅玩NAS》家庭 NAS 服务器搭建方案「建议收藏」

    《畅玩NAS》家庭 NAS 服务器搭建方案「建议收藏」NAS(NetworkAttachedStorage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。目前国际著名的NAS企业有Netapp、EMC、OUO等。说白话,就是家用的服务器。首选谈谈家庭NAS服务器的基本需求:1.7*24小时运行,最好有UPS电源保护

    2022年6月22日
    79
  • 100天精通Oracle-实战系列(第8天)保姆级 PL/SQL Developer 安装与配置「建议收藏」

    100天精通Oracle-实战系列(第8天)保姆级 PL/SQL Developer 安装与配置「建议收藏」100天精通Oracle-实战系列(第8天)PL/SQLDeveloper安装与配置

    2022年10月12日
    2
  • 行列式的计算技巧与方法总结[通俗易懂]

    行列式的计算技巧与方法总结[通俗易懂]行列式的计算技巧与方法总结

    2022年8月2日
    5
  • mysql decimal类型排序「建议收藏」

    mysql decimal类型排序「建议收藏」mysqldecimal类型排序decimal类型是按照字典序排序!decimal类型是按照字典序排序!

    2022年7月17日
    17
  • FOC入门教程_晚上开飞机前面有灯吗

    FOC入门教程_晚上开飞机前面有灯吗深入浅出FOC(FieldOrientedControl)前言:为什么要学习FOC?1.电机控制是自动化控制领域重要一环。2.目前直流无刷电机应用越来越广泛,如无人机、机械臂、云台、仿生机器人等等。3.电机控制工程师薪水较高。需要什么基础?1.C语言,指针,结构体,编程规范。2.STM32外设使用。3.原理图阅读。4.芯片手册阅读。5.数序坐标系知识为什么要出本教程?1.直流无刷电机应用越来越广泛,网上资料比较散落,因此想要出一篇系统性的教程,从头到尾,深入浅出,帮助初学者快速

    2025年8月4日
    3
  • Qt学习之QListWidget删除Item

    Qt学习之QListWidget删除Item将QListWidgetItem从QListWidget列表中删除有两种方法可以做到,但也要根据自己的需要进行选择。第一种是QListWidgetItem*takeItem(introw);使用此方法需要知道删除的是第几个Item,并且返回删除的Item指针。第二种是inlinevoidremoveItemWidget(QListWidgetItem*item);需要知道删除

    2022年5月3日
    543

发表回复

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

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