博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一段 Kotlin 处理 HashMap 数据结构的代码
阅读量:6084 次
发布时间:2019-06-20

本文共 1954 字,大约阅读时间需要 6 分钟。

Kotlin 代码:

fun saveDataJson(scenarioId: Long) {        val data = nodeModelFieldsDao.findByScenarioId(scenarioId)        println("data=${JSON.toJSONString(data)}")        println("开始执行 saveDataJson")        val modelCodeSet = mutableSetOf
() data.forEach { it.modelCode?.let { v -> modelCodeSet.add(v) } } println("modelCodeSet=${JSON.toJSONString(modelCodeSet)}") val dataJsonObj = hashMapOf
>() modelCodeSet.forEach { val mc = it dataJsonObj[mc] = hashMapOf() // 这一句话很重要,先初始化 dataJsonObj[mc] data.forEach { val modelCode = it.modelCode if (mc == modelCode) { dataJsonObj[mc]?.set(it.fieldCode, it.value) } } } val dataJsonStr = JSON.toJSONString(dataJsonObj) println("dataJsonStr=${dataJsonStr}") val record = dataJsonDao.findByScenarioId(scenarioId) if (record == null) { val dataJson = DataJson() dataJson.dataJson = dataJsonStr dataJson.scenarioId = scenarioId dataJsonDao.save(dataJson) } else { record.dataJson = dataJsonStr record.scenarioId = scenarioId record.gmtModified = Date() dataJsonDao.save(record) } println("执行完成 saveDataJson") }

js 代码是:

var models = new Set();for (var i = 0; i < data.length; i++) {    var m = data[i];    console.log(`m=${JSON.stringify(m)}`);    let model_code = m.model_code;    console.log(`model_code=${model_code}`);    models.add(model_code);}console.dir(models);var model_fields_map = {};models.forEach(((model_code, index, array) => {    model_fields_map[model_code] = {};    data.map(m => {        if (m.model_code == model_code) {            model_fields_map[model_code][m.field_code] = `${m.field_output_code}|${m.data_type}|${m.setter_config_json}`        }    });}));

转载地址:http://kwuwa.baihongyu.com/

你可能感兴趣的文章
python3 笔记
查看>>
kali linux下的网络配置
查看>>
我的友情链接
查看>>
Windows系统下的TCP参数优化(注册表\TCPIP\Parameters)
查看>>
资源共享开源站
查看>>
Open×××中TAP-win32d的net30问题
查看>>
Linux常用命令总结之(九)tail
查看>>
【Glassfish调查】获取客户端Addr和Host
查看>>
2011年山东济南java开发定向就业班招生
查看>>
磁盘格式化与管理知识点总结
查看>>
如何在ASA防火墙上实现ipsec ***
查看>>
前端基础---jquery练习
查看>>
保持健康,远离疾病
查看>>
如何推断乱码是从何种编码转换到何种编码导致的乱码?
查看>>
Objective-C语法之动态类型(isKindOfClass, isMemberOfClass,id)等
查看>>
【SMTP 补录】
查看>>
zabbix通过External checks的方式自动发现交换机端口(只提取up的)
查看>>
CentOS下配置LAMP
查看>>
Myeclipse报错-->Animation Start An internal error has occurred. java.lang.NullPointerException解决...
查看>>
CSS性能优化
查看>>