详细说一下具体情况
有一个需求 动态往数据库导入表 所以字段的动态的
字段需要处理 将中文的字段 修改成拼音的缩写 同时将 拼音缩写与中文的对应存入另外一张表里
简单来说 例如下面的 这是一个数据的表 字段名是拼音缩写 看着就蛋疼
这是存在另外一张表的字段解释
现在需要将 表的数据查出来 同时将字段名换为中文的
由于表的动态的 所以只能用map接收 查询后的数据 具体类型为 List<Map<String,Object>>
查出来的数据为 实际类型为 List<Map<String,Map<String,Object>>> list里的一个map就是一行数据 map里的map 是字段名:值
查出来后的数据在java里把 字段名有拼音缩写 转换 为 中文 ,就是map 里面的map 在查出数据时 是list<map<数组下标,map<拼音缩写,值>>>
最开始的想法是 将数据查出来 再在java中把拼音缩写转换为中文
但是map的key是不可变的,修改的话删除原来的map 再添加新设置好的map 而且每条数据的的每个字段都需要重新设置 时间 需要for 套 for 时间复杂度 为 n平方
最后的解决方法是 用别名 从数据库查询出来是 使用别名 将 拼音缩写 修改为 中文
具体做法 将拼音-中文 从数据库中查出 在java中处理为 map《拼音,中文》
在将数据从数据库查出时 通过转换map 使用拼音缩写获得 中文,并将中文名作为字段名
这样子难度大大降低 也不用做额外操作了
特别注意 中文名 需要加 双引号 "" 因为有些作为包含特殊字符 会报错
水平还是太低 写的乱起八糟的
标签:缩写,map,中文,转换,拼音,数据,字段名 From: https://www.cnblogs.com/bawanglong168/p/16853717.html