Package com.tangosol.util
Class OpenHashMap<K,V> 
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.AbstractKeyBasedMap<K,V>
 
com.tangosol.util.OpenHashMap<K,V> 
- All Implemented Interfaces:
 Map<K,V> 
An implementation of 
Map that is optimized for memory
 footprint. Specifically, instead of instantiating an "Entry" object for each
 element (as the HashMap does, which references those
 entries in a linked list fashion with the head of the linked list stored in
 the hash bucket array, this implementation stores its elements using an open
 hashing algorithm, i.e. the keys are stored directly in the hash bucket
 array and the values are stored in a corresponding values array.
 This implementation is explicitly NOT thread-safe.
- Since:
 - 12.2.1
 - Author:
 - cp 2013.01.30
 
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassA set of entries backed by this map.protected classA set of keys backed by this map.Nested classes/interfaces inherited from class com.tangosol.util.AbstractKeyBasedMap
AbstractKeyBasedMap.DeferredCacheEvent<K,V>, AbstractKeyBasedMap.ValuesCollection Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter - 
Field Summary
 - 
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.OpenHashMap(int initialCapacity) Create a OpenHashMap pre-sized to hold the specified number of entries.OpenHashMap(Map map) Create a OpenHashMap that will initially contain the contents of the passed Map. - 
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clear all key/value mappings.booleancontainsKey(Object oKey) Returns true if this map contains a mapping for the specified key.Returns the value to which this map maps the specified key.protected SetFactory pattern: Create a Set that represents the entries in the Map.protected SetFactory pattern: Create a Set that represents the keys in the Mapprotected IteratorCreate an iterator over the keys in this Map.Associates the specified value with the specified key in this map.Removes the mapping for this key from this map if present.intsize()Returns the number of key-value mappings in this map.Methods inherited from class com.tangosol.util.AbstractKeyBasedMap
clone, containsValue, entrySet, equals, getAll, hashCode, instantiateValues, isEmpty, keySet, putAll, removeBlind, toString, valuesMethods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, newHashMap, newHashMap, newHashSet, newHashSet, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, waitMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll 
- 
Constructor Details
- 
OpenHashMap
public OpenHashMap()Default constructor. - 
OpenHashMap
public OpenHashMap(int initialCapacity) Create a OpenHashMap pre-sized to hold the specified number of entries.- Parameters:
 initialCapacity- the initial capacity requirement for the hash map
 - 
OpenHashMap
Create a OpenHashMap that will initially contain the contents of the passed Map. In other words, this is a "copy constructor".- Parameters:
 map- the Collection whose contents this
 
 - 
 - 
Method Details
- 
size
public int size()Returns the number of key-value mappings in this map. - 
containsKey
Returns true if this map contains a mapping for the specified key.- Specified by:
 containsKeyin interfaceMap<K,V> - Overrides:
 containsKeyin classAbstractKeyBasedMap<K,V> - Returns:
 - true if this map contains a mapping for the specified key, false otherwise.
 
 - 
get
Returns the value to which this map maps the specified key. - 
put
Associates the specified value with the specified key in this map.- Specified by:
 putin interfaceMap<K,V> - Overrides:
 putin classAbstractKeyBasedMap<K,V> - Parameters:
 oKey- key with which the specified value is to be associatedoValue- value to be associated with the specified key- Returns:
 - previous value associated with specified key, or null if there was no mapping for key
 
 - 
remove
Removes the mapping for this key from this map if present. Expensive: updates both the underlying cache and the local cache.- Specified by:
 removein interfaceMap<K,V> - Overrides:
 removein classAbstractKeyBasedMap<K,V> - Parameters:
 oKey- key whose mapping is to be removed from the map- Returns:
 - previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the map previously associated null with the specified key, if the implementation supports null values.
 
 - 
clear
public void clear()Clear all key/value mappings. - 
instantiateKeySet
Factory pattern: Create a Set that represents the keys in the Map- Overrides:
 instantiateKeySetin classAbstractKeyBasedMap<K,V> - Returns:
 - a new instance of Set that represents the keys in the Map
 
 - 
instantiateEntrySet
Factory pattern: Create a Set that represents the entries in the Map.- Overrides:
 instantiateEntrySetin classAbstractKeyBasedMap<K,V> - Returns:
 - a new instance of Set that represents the entries in the Map
 
 - 
iterateKeys
Create an iterator over the keys in this Map. The Iterator must support remove() if the Map supports removal.- Specified by:
 iterateKeysin classAbstractKeyBasedMap<K,V> - Returns:
 - a new instance of an Iterator over the keys in this Map
 
 
 -