在项目的配置文件中看到了LinkedCaseInsensitiveMap,查阅后了解到LinkedCaseInsensitiveMap继承于LinkedHashMap,LinkedCaseInsensitiveMap可以检测关键字(不区分大小写)的唯一性,源码如下:
package org.springframework.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
public class LinkedCaseInsensitiveMap<V> extends LinkedHashMap<String, V> {
private Map<String, String> caseInsensitiveKeys;
private final Locale locale;
public LinkedCaseInsensitiveMap() {
this((Locale)null);
}
public LinkedCaseInsensitiveMap(Locale locale) {
this.caseInsensitiveKeys = new HashMap();
this.locale = locale != null?locale:Locale.getDefault();
}
public LinkedCaseInsensitiveMap(int initialCapacity) {
this(initialCapacity, (Locale)null);
}
public LinkedCaseInsensitiveMap(int initialCapacity, Locale locale) {
super(initialCapacity);
this.caseInsensitiveKeys = new HashMap(initialCapacity);
this.locale = locale !