谷神后端list转map

list转map
java 复制代码
/**
 * 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)
		#end
		return $map
	#end
	return null
#end
java 复制代码
// list2map
#set($map = @list2map($list, $key, $field))
list转map:动态脚本模式
java 复制代码
/**
 * 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)
		#end
		return $map
	#end
	return null
#end
java 复制代码
// list2mapByScript
#set($map = @list2mapByScript($list, $key, $field))
list转map:高阶函数
java 复制代码
/**
 * 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)
		#end
		return $map
	#end
	return null
#end
java 复制代码
// list2mapByFun
#set($map = @list2mapByFun($list, $vs.util.newMap('fun', @keyFun), $vs.util.newMap('fun', @valueFun)))
相关推荐
yongui4783421 小时前
C# 与三菱PLC通讯解决方案
开发语言·c#
2501_9333295521 小时前
技术架构深度解析:Infoseek舆情监测系统的全链路设计与GEO时代的技术实践
开发语言·人工智能·分布式·架构
Tong Z21 小时前
常见的限流算法和实现原理
java·开发语言
凭君语未可21 小时前
Java 中的实现类是什么
java·开发语言
wearegogog12321 小时前
离散系统参数辨识与广义预测控制MATLAB实现
开发语言·matlab
史迪仔011221 小时前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
还在忙碌的吴小二1 天前
Harness 最佳实践:Java Spring Boot 项目落地 OpenSpec + Claude Code
java·开发语言·spring boot·后端·spring
liliangcsdn1 天前
mstsc不在“C:\Windows\System32“下在C:\windows\WinSxS\anmd64xxx“问题分析
开发语言·windows