|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.util.AbstractMap org.apache.commons.collections.map.AbstractHashedMap org.apache.commons.collections.map.CaseInsensitiveMap
public class CaseInsensitiveMap
A case-insensitive Map
.
As entries are added to the map, keys are converted to all lowercase. A new
key is compared to existing keys by comparing newKey.toString().toLower()
to the lowercase values in the current KeySet.
Null keys are supported.
The keySet()
method returns all lowercase keys, or nulls.
Example:
Map map = new CaseInsensitiveMap();
map.put("One", "One");
map.put("Two", "Two");
map.put(null, "Three");
map.put("one", "Four");
creates a CaseInsensitiveMap
with three entries.map.get(null)
returns "Three"
and map.get("ONE")
returns "Four".
The Set
returned by keySet()
equals {"one", "two", null}.
Note that CaseInsensitiveMap is not synchronized and is not thread-safe.
If you wish to use this map from multiple threads concurrently, you must use
appropriate synchronization. The simplest approach is to wrap this map
using Collections.synchronizedMap(Map)
. This class may throw
exceptions when accessed by concurrent threads without synchronization.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.commons.collections.map.AbstractHashedMap |
---|
AbstractHashedMap.EntrySet, AbstractHashedMap.EntrySetIterator, AbstractHashedMap.HashEntry, AbstractHashedMap.HashIterator, AbstractHashedMap.HashMapIterator, AbstractHashedMap.KeySet, AbstractHashedMap.KeySetIterator, AbstractHashedMap.Values, AbstractHashedMap.ValuesIterator |
Nested classes/interfaces inherited from interface java.util.Map |
---|
java.util.Map.Entry |
Field Summary |
---|
Fields inherited from class org.apache.commons.collections.map.AbstractHashedMap |
---|
data, DEFAULT_CAPACITY, DEFAULT_LOAD_FACTOR, DEFAULT_THRESHOLD, entrySet, GETKEY_INVALID, GETVALUE_INVALID, keySet, loadFactor, MAXIMUM_CAPACITY, modCount, NO_NEXT_ENTRY, NO_PREVIOUS_ENTRY, NULL, REMOVE_INVALID, SETVALUE_INVALID, size, threshold, values |
Constructor Summary | |
---|---|
CaseInsensitiveMap()
Constructs a new empty map with default size and load factor. |
|
CaseInsensitiveMap(int initialCapacity)
Constructs a new, empty map with the specified initial capacity. |
|
CaseInsensitiveMap(int initialCapacity,
float loadFactor)
Constructs a new, empty map with the specified initial capacity and load factor. |
|
CaseInsensitiveMap(java.util.Map map)
Constructor copying elements from another map. |
Method Summary | |
---|---|
java.lang.Object |
clone()
Clones the map without cloning the keys or values. |
protected java.lang.Object |
convertKey(java.lang.Object key)
Overrides convertKey() from AbstractHashedMap to convert keys to
lower case. |
Methods inherited from class org.apache.commons.collections.map.AbstractHashedMap |
---|
addEntry, addMapping, calculateNewCapacity, calculateThreshold, checkCapacity, clear, containsKey, containsValue, createEntry, createEntrySetIterator, createKeySetIterator, createValuesIterator, destroyEntry, doReadObject, doWriteObject, ensureCapacity, entryHashCode, entryKey, entryNext, entrySet, entryValue, equals, get, getEntry, hash, hashCode, hashIndex, init, isEmpty, isEqualKey, isEqualValue, keySet, mapIterator, put, putAll, remove, removeEntry, removeMapping, reuseEntry, size, toString, updateEntry, values |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CaseInsensitiveMap()
public CaseInsensitiveMap(int initialCapacity)
initialCapacity
- the initial capacity
java.lang.IllegalArgumentException
- if the initial capacity is less than onepublic CaseInsensitiveMap(int initialCapacity, float loadFactor)
initialCapacity
- the initial capacityloadFactor
- the load factor
java.lang.IllegalArgumentException
- if the initial capacity is less than one
java.lang.IllegalArgumentException
- if the load factor is less than zeropublic CaseInsensitiveMap(java.util.Map map)
Keys will be converted to lower case strings, which may cause some entries to be removed (if string representation of keys differ only by character case).
map
- the map to copy
java.lang.NullPointerException
- if the map is nullMethod Detail |
---|
protected java.lang.Object convertKey(java.lang.Object key)
AbstractHashedMap
to convert keys to
lower case.
Returns null if key is null.
convertKey
in class AbstractHashedMap
key
- the key convert
public java.lang.Object clone()
clone
in class AbstractHashedMap
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |