map集合的key忽略大小写 java
时间: 2024-05-07 19:23:12 浏览: 128
java集合map取key使用示例 java遍历map
5星 · 资源好评率100%
在Java中,Map的key是区分大小写的,但你可以通过使用不区分大小写的key来实现忽略大小写。以下是一些实现方法:
1. 使用TreeMap并传入一个不区分大小写的比较器
```java
Map<String, String> map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
map.put("key", "value");
System.out.println(map.get("KEY")); // 输出"value"
```
2. 自定义Map实现,将所有的key转换为小写
```java
public class CaseInsensitiveMap<V> extends HashMap<String, V> {
@Override
public V put(String key, V value) {
return super.put(key.toLowerCase(), value);
}
@Override
public V get(Object key) {
return super.get(key.toString().toLowerCase());
}
@Override
public boolean containsKey(Object key) {
return super.containsKey(key.toString().toLowerCase());
}
}
Map<String, String> map = new CaseInsensitiveMap<>();
map.put("key", "value");
System.out.println(map.get("KEY")); // 输出"value"
```
请注意,如果使用第二种方式,当你需要遍历Map时,你需要使用Map的entrySet()方法,而不是keySet()方法,因为keySet()方法返回的是原始的key集合,而不是小写的key集合。
阅读全文