CaseInsensitiveMap
これもあちこちで書いているクラス。
まあcommonsプロジェクトに同様のクラスがあるのだけども・・・
import java.util.HashMap; import java.util.Map; public class CaseInsensitiveMap<V> extends HashMap<String, V> { public CaseInsensitiveMap() { } public CaseInsensitiveMap(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor); } public CaseInsensitiveMap(int initialCapacity) { super(initialCapacity); } public CaseInsensitiveMap(Map<? extends String, ? extends V> m) { putAll(m); } @Override public boolean containsKey(Object key) { return super.containsKey(key.toString().toLowerCase()); } @Override public V get(Object key) { return super.get(key.toString().toLowerCase()); } @Override public V put(String key, V value) { return super.put(key.toLowerCase(), value); } @Override public V remove(Object key) { return super.remove(key.toString().toLowerCase()); } }