首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java【代码 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写

Java【代码 06】Lamda表达式将List对象中的Map对象的key全部转化为大写或者小写(去除外层循环:可用于Map对象中的key全部转化为大写或者小写

原创
作者头像
yuanzhengme
发布于 2025-07-24 17:57:18
发布于 2025-07-24 17:57:18
3520
举报
文章被收录于专栏:JavaCodeJavaCode

1.why

事情的缘由是这样的,我们有两个平台,一个使用Oracle,另一个使用GreenPlum,查询结果封装成Map对象,如果使用相同的查询语句,Oracle的key是大写的,GreenPlum的key是小写的。

2.code

代码语言:java
复制
    /**
     * 将小写 key 转换为大写 key
     *
     * @param mapList 小写 key 的map
     * @return 大写 keys 的map
     */
    private List<Map<String, Object>> mapKeysToUpperCase(List<Map<String, Object>> mapList) {
        List<Map<String, Object>> returnList = new ArrayList<>(mapList.size());
        mapList.forEach(oneMap -> {
            Map<String, Object> returnMap = new HashMap<>(oneMap.size());
            // 转为小写 oneMap.forEach((key, val) -> returnMap.put(key.toLowerCase(), val));
            oneMap.forEach((key, val) -> returnMap.put(key.toUpperCase(), val));
            returnList.add(returnMap);
        });
        return returnList;
    }

3.其他

如果使用的不是相同的查询语句,我们可以使用别名来保持字段名称的一致,GP数据也是支持字段别名,注意要使用双引号,否则别名将是全小写:

代码语言:sql
复制
# 别名无效 查询结果封装成 map 则 key 为 tablename
select table_name AS tableName from table_info
select table_name AS TABLENAME from table_info

# 别名有效 查询结果封装成 map 则 key 为 tableName
select table_name AS "tableName" from table_info

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1.why
  • 2.code
  • 3.其他
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档