java 代码 map集合方法containsKey忽略大小写
时间: 2024-05-13 10:17:50 浏览: 30
在 Java 中,Map 接口的 containsKey(Object key) 方法是区分大小写的,如果你想忽略大小写,可以使用 TreeMap 或自定义 Map 实现来实现该功能。
以下是一个使用 TreeMap 实现忽略大小写的示例代码:
```java
import java.util.TreeMap;
public class CaseInsensitiveMap<V> extends TreeMap<String, V> {
@Override
public boolean containsKey(Object key) {
if (key instanceof String) {
String lowerCaseKey = ((String) key).toLowerCase();
for (String k : this.keySet()) {
if (k.toLowerCase().equals(lowerCaseKey)) {
return true;
}
}
}
return false;
}
}
```
该类继承自 TreeMap,重写了 containsKey 方法,在方法中将传入的 key 转换为小写,并遍历 TreeMap 中的 keySet,将其中的 key 也转换为小写,判断是否相等,从而实现忽略大小写的功能。
使用时,可以直接将其当作 Map 使用,例如:
```java
Map<String, String> map = new CaseInsensitiveMap<>();
map.put("key", "value");
System.out.println(map.containsKey("KEY")); // 输出 true
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)