Is there a good way to have a Map<String, ?> get and put ignoring case?

case-insensitive, dictionary, java

Solution

TreeMap extends Map and supports custom comparators.

String provides a default case insensitive comparator.

So:

final Map<String, ...> map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);

The comparator does not take locale into account. Read more about it in its JavaDoc.

Problem

Is there a good way to have a `Map<String, ?>` get and put ignoring case?

Original source

Related problems