Package com.cedarsoftware.util
Class CompactCIHashMap<K,V>
- java.lang.Object
-
- com.cedarsoftware.util.CompactMap<K,V>
-
- com.cedarsoftware.util.CompactCIHashMap<K,V>
-
- All Implemented Interfaces:
Map<K,V>
public class CompactCIHashMap<K,V> extends CompactMap<K,V>
Useful Map that does not care about the case-sensitivity of keys when the key value is a String. Other key types can be used. String keys will be treated case insensitively, yet key case will be retained. Non-string keys will work as they normally would.This Map uses very little memory (See CompactMap). When the Map has more than 'compactSize()' elements in it, the 'delegate' Map is a HashMap.
- Author:
- John DeRegnaucourt ([email protected])
Copyright (c) Cedar Software LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.cedarsoftware.util.CompactMap
CompactMap.CompactMapEntry, CompactMap.LogicalValueType
-
-
Constructor Summary
Constructors Constructor Description CompactCIHashMap()
CompactCIHashMap(Map<K,V> other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Map<K,V>
getNewMap()
protected boolean
isCaseInsensitive()
protected boolean
useCopyIterator()
-
Methods inherited from class com.cedarsoftware.util.CompactMap
clear, compactSize, computeKeyHashCode, computeValueHashCode, containsKey, containsValue, entrySet, equals, get, getLogicalValueType, getNewMap, getSingleValueKey, hashCode, isEmpty, keySet, minus, plus, put, putAll, remove, size, toString, values
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
getNewMap
protected Map<K,V> getNewMap()
- Overrides:
getNewMap
in classCompactMap<K,V>
- Returns:
- new empty Map instance to use when size() becomes > compactSize().
-
isCaseInsensitive
protected boolean isCaseInsensitive()
- Overrides:
isCaseInsensitive
in classCompactMap<K,V>
-
useCopyIterator
protected boolean useCopyIterator()
- Overrides:
useCopyIterator
in classCompactMap<K,V>
-
-