java - 从列表<map<String,String>>获取不区分大小写的键

标签 java

我有一个列表>,现在我想搜索 key 而不考虑大小写。 即map.get(0).get("test") 或map.get(0).get("TEST")。两个结果都应给出键“TESt”的值。

我正在从其他列表> 填充列表> 列表,如下所示。没有办法改变原来的 map 。谁能告诉我如何添加大写的 key ?

mappedListHashed 是列表> accessLvlArray 是列表>

for (HashMap<String, String> map : mappedListHashed) {
                accessLvlArray.add(map);
            }

最佳答案

您始终可以在 map 中放入小写键

list.get(0).put("tEst".toLowerCase(),"value");

并调用

list.get(0).get("Test".toLowerCase())

以便始终搜索 key 的小写版本。

如果这不是一个选项,您可以使用自定义类包装您的 String 键,该类以忽略大小写的方式覆盖 equalshashCode

关于java - 从列表<map<String,String>>获取不区分大小写的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37584404/

相关文章:

java - 如何在位置改变时替换字符串的特定位置

java - SQL异常 : Protocol Violation in oracle

java - request.getCharacterEncoding() 返回 NULL... 为什么?

java - Android 谷歌地图六角形

java - 我如何从 Groovy 构造一个(非静态的)Java 内部类

java - 使用 XSLT 2 在线替换部分字符串

java - 将十进制转换为二进制以及二进制转换为十进制时的 substr、整数和循环问题

java - WordNet - 两个单词之间可能存在多种关系?

java - 如何在 Spring 配置中导入可选属性文件以进行生产?

java - 我做错了什么 y =4x^2 + 5x -3 ,x 必须从 0.1 开始,以 1.0 结束,步长为 + 0.1