谷神后端list转map

ops/2024/9/23 23:29:58/
list转map
/*** list2map* list转map:支持全量映射、单字段映射。* * @param $list:list:列表。* @param $key:string:键。* @param $field:string:值字段域。** @return map**/ 
#function list2map($list, $key, $field)#if ($vs.util.isList($list) and $vs.util.isString($key))#set($map = $vs.util.newMap())#foreach($row in $list)#set($value = $row)#if (!$vs.util.isNull($field))#set($value = $row.get($field))#end$map.put($row.get($key), $value)#endreturn $map#endreturn null
#end
// list2map
#set($map = @list2map($list, $key, $field))
list转map:动态脚本模式
/*** list2mapByScript* list转map:动态脚本模式。 ** @param $list:list:列表。* @param $key:string:键。* @param $field:string:值字段域。** @return map**/
#function list2mapByScript($list, $key, $field)#if ($vs.util.isList($list) and $vs.util.isString($key))#set($map = $vs.util.newMap())#foreach($row in $list)#set($value = $row)#if (!$vs.util.isNull($field))#set($value = $row.get($field))#end#set($script = 'return $row.' + $key)$map.put($vs.proc.executeScript($script, $vs.util.newMap('row', $row)), $value)#endreturn $map#endreturn null
#end
// list2mapByScript
#set($map = @list2mapByScript($list, $key, $field))
list转map:高阶函数
/*** list2mapByFun* list转map:高阶函数。* * @param $list:list:列表。* @param $keyFun:map:键函数。* @param $valueFun:map:值函数。** @return map**/ 
#function list2mapByFun($list, $keyFun, $valueFun)#if ($vs.util.isList($list) and $vs.util.isMap($keyFun))#set($map = $vs.util.newMap())#foreach($row in $list)#set($value = $row)#if ($vs.util.isMap($valueFun))#set($value = $valueFun.fun($row))#end$map.put($keyFun.fun($row), $value)#endreturn $map#endreturn null
#end
// list2mapByFun
#set($map = @list2mapByFun($list, $vs.util.newMap('fun', @keyFun), $vs.util.newMap('fun', @valueFun)))

http://www.ppmy.cn/ops/115016.html

相关文章

开源模型应用落地-Qwen2.5-Coder模型小试-码无止境(一)

一、前言 代码专家模型是一种基于人工智能的先进技术,旨在自动分析和理解大量代码库,并从中学习常见的编码模式和最佳实践。这种模型通过深度学习和自然语言处理,能够提供准确而高效的代码建议,帮助开发人员在编写代码时有效地避免…

Ubuntu搭建java开发环境

一:Ubuntu安装 1、下载Ubuntu 24.04.1 LTS 官网下载地址:https://releases.ubuntu.com/24.04.1/ubuntu-24.04.1-desktop-amd64.iso 可以直接点击这里下载 2、使用VMware安装 新建虚拟机 之后一直下一步,到如下界面,选择 刚刚…

【C++】10道经典面试题带你玩转二叉树

🦄个人主页:修修修也 🎏所属专栏:C ⚙️操作环境:Leetcode/牛客网 目录 一.根据二叉树创建字符串 二.二叉树的层序遍历 三.二叉树的层序遍历 II 四.二叉树的最近公共祖先 五.二叉搜索树与双向链表 六.从前序与中序遍历序列构造二叉树 七.从中序与后序遍历…

biopython MMCIFParser模块介绍

Biopython 中的 MMCIFParser 模块是专门用于解析 .mmCIF(Macromolecular Crystallographic Information File)格式文件的工具。.mmCIF 是一种常用于存储生物大分子(如蛋白质、核酸等)三维结构信息的标准格式,它是 PDB 格式的替代格式,能够存储更复杂、更丰富的结构数据。…

Java毕业设计 基于SpringBoot和Vue自习室管理系统

Java毕业设计 基于SpringBoot和Vue自习室管理系统 这篇博文将介绍一个基于SpringBoot框架和Vue开发的自习室管理系统,适合用于Java毕业设计。 功能介绍 学生 登录 个人中心 修改密码 系统首页 自习室浏览 学生预约记录 管理员  登录 个人中心 修改密码 系统…

设计模式--责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,其主要目的是将请求的发送者和接收者解耦,使得多个对象都有机会处理请求。通过将这些对象连接成一条链,沿链传递请求,直到某个对象处理该…

【Linux】Docker:离线主机部署

在网络环境下准备 Docker 下载 Docker 安装包&#xff1a; 在另一台有网络连接的计算机上&#xff0c;访问 Docker 官方下载页面。选择并下载适合您系统的 Docker 版本&#xff0c;通常是最新的稳定版本&#xff0c;例如 docker-<version>.tgz。 传输文件&#xff1a;…

【设计模式-享元】

Flyweight Pattern&#xff08;享元模式&#xff09; 是一种结构型设计模式&#xff0c;旨在通过共享对象来减少内存使用和提高性能。享元模式特别适用于需要大量相似对象的场景&#xff0c;可以有效地减少内存开销。 核心思想 享元模式通过将对象的共享部分&#xff08;共享…