HashMap get 不区分大小写
时间: 2024-02-09 15:04:35 浏览: 111
郑州大学JAVA面向对象实验报告书
是的,HashMap的get方法默认是区分大小写的,但是我们可以通过重写HashMap的key的hashCode和equals方法来实现不区分大小写的get方法。具体实现如下:
```java
import java.util.HashMap;
public class CaseInsensitiveHashMap<V> extends HashMap<String, V> {
@Override
public V get(Object key) {
if (key instanceof String) {
String caseInsensitiveKey = ((String) key).toLowerCase();
for (String k : keySet()) {
if (k.toLowerCase().equals(caseInsensitiveKey)) {
return super.get(k);
}
}
}
return null;
}
}
```
上述代码中,我们继承了HashMap,并重写了get方法。在get方法中,我们将传入的key转换为小写,然后遍历HashMap中的所有key,将每个key都转换为小写,再与传入的key进行比较,如果相等,则返回对应的value。这样就实现了不区分大小写的get方法。
阅读全文