Search code examples
javadictionarycase-insensitive

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


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


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.