Как создать CaseInsensitiveConcurrentMap?

Как я могу реализовать

class CaseInsensitiveConcurrentMap<V> implements ConcurrentMap<String , V>

, который работает так же, как ConcurrentHashMap , за исключением что ключи сравниваются без учета регистра? Ключи не следует преобразовывать в нижний или верхний регистр.

Обратите внимание, что Collections.synchronizedMap (new TreeMap не является решением, поскольку он не допускает параллелизма и пропускает дополнительные методы.

Создание класса, похожего на String, с регистром , равным и hashCode , тоже не вариант, поскольку карту необходимо передать методам, ожидающим строки в качестве ключей.

10
задан maaartinus 5 August 2011 в 13:19
поделиться