mapcontainsKey忽略大小写
时间: 2023-09-06 22:09:11 浏览: 104
在 Java 中,Map 的 key 是不区分大小写的,但是默认情况下 Map 的 containsKey 方法是区分大小写的。如果想要实现忽略大小写的 containsKey 方法,可以通过自定义 Map 的子类来实现。以下是一个示例:
```java
import java.util.HashMap;
public class CaseInsensitiveMap<V> extends HashMap<String, V> {
@Override
public boolean containsKey(Object key) {
if (key instanceof String) {
String lowercaseKey = ((String) key).toLowerCase();
for (String k : keySet()) {
if (k.toLowerCase().equals(lowercaseKey)) {
return true;
}
}
}
return false;
}
}
```
这个 CaseInsensitiveMap 类继承了 HashMap,并重写了 containsKey 方法,将传入的 key 转换成小写形式,然后遍历 keySet,查找是否存在对应的 key。这样就可以实现忽略大小写的 containsKey 方法了。