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());
    }

}