拉姆达语法_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)
上一篇 2025年12月2日 下午1:15
下一篇 2025年12月2日 下午1:43


相关推荐

  • DirectoryExists

    DirectoryExists判断文件夹是否存在关键点GetFileAttributesTheGetFileAttributesfunctionretrievesattributesforaspecifiedfileordirec

    2022年7月2日
    27
  • go 截取字符串_c语言输入n个字符串

    go 截取字符串_c语言输入n个字符串Go语言没有像Java一样的substring()方法,但是可以通过如下方式实现字符串截取funcTest_GoSubString(t*testing.T){ str:=”sssssddddd” rs:=[]rune(str) //rs[开始索引:结束索引] fmt.Println(string(rs[3:6])) str=”你好,Go语言” rs=[]ru…

    2026年4月17日
    7
  • 使用python代码画折线图【matplotlib】

    使用python代码画折线图【matplotlib】1、画折线图【一条示例】importmatplotlib.pyplotaspltimportnumpyasnpx_axis_data=[1,2,3,4,5,6,7]#xy_axis_data=[68,69,79,71,80,70,66]#yplt.plot(x_axis_data,y_axis_data,’b*–‘,alpha=0.5,linewidth=1,label=’acc’)#’bo-‘表示蓝色实线,数据点实心原点标注##plot中参数的含义分别

    2025年5月27日
    5
  • Redis-GEO

    Redis-GEO

    2021年11月3日
    53
  • 矩阵分析:向量范数,矩阵范数,范数应用[通俗易懂]

    矩阵分析:向量范数,矩阵范数,范数应用[通俗易懂]1,向量范数1.1,向量范数的定义和例子设是复数域上的维向量空间,称函数为向量范数,是指对所有,有下列性质:(1)非负性:,并且当且仅当。(2)齐次性:对任何,。(3)三角不等式:若对任意,有:(1)(2)(3)证明(3):根据三角不等式,有:两式分别相减可得:设,则下列实值函数都是上的向量范数:(1)2范数:(2)1范数:(3)范数:(4)p范数:,当时,分别得到向量1范数和2范数,并且可以证明…

    2026年1月23日
    6
  • 对 AI Agent 定义的一些探讨

    对 AI Agent 定义的一些探讨

    2026年3月16日
    2

发表回复

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

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