public class ConcurrentReferenceHashMap extends AbstractMap implements ConcurrentMap, ReferenceMap, SizedMap, Cloneable
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType,
AbstractReferenceMap.ReferenceStrength valueType)
Constructs a new, empty HashMap with a default capacity and load factor.
|
ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType,
AbstractReferenceMap.ReferenceStrength valueType,
int initialCapacity)
Constructs a new, empty HashMap with the specified initial capacity
and default load factor.
|
ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType,
AbstractReferenceMap.ReferenceStrength valueType,
int initialCapacity,
float loadFactor)
Constructs a new, empty HashMap with the specified initial
capacity and the specified load factor.
|
ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType,
AbstractReferenceMap.ReferenceStrength valueType,
Map t)
Constructs a new HashMap with the same mappings as the given
Map.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all mappings from this HashMap.
|
Object |
clone()
Returns a shallow copy of this HashMap.
|
boolean |
containsKey(Object key)
Returns true if this HashMap contains a mapping for the specified key.
|
boolean |
containsValue(Object value)
Returns true if this HashMap maps one or more keys to the specified
value.
|
Set |
entrySet()
Returns a Collection view of the mappings contained in this HashMap.
|
protected boolean |
eq(Object x,
Object y)
Compare two objects.
|
Object |
get(Object key)
Returns the value to which this HashMap maps the specified key.
|
int |
getMaxSize()
The maximum number of entries, or Integer.MAX_VALUE for no limit.
|
protected int |
hc(Object o)
Obtain the hashcode of an object.
|
boolean |
isEmpty()
Returns true if this Map contains no key-value mappings.
|
boolean |
isFull()
Whether the map is full.
|
void |
keyExpired(Object value)
Overridable callback for when a key reference expires.
|
Set |
keySet()
Returns a Set view of the keys contained in this HashMap.
|
void |
overflowRemoved(Object key,
Object value)
Overridable callback for when an overflow entry is automatically removed.
|
Object |
put(Object key,
Object value)
Associates the specified value with the specified key in this HashMap.
|
void |
putAll(Map t)
Copies all of the mappings from the specified Map to this HashMap
These mappings will replace any mappings that this HashMap had for any
of the keys currently in the specified Map.
|
Iterator |
randomEntryIterator()
Iterate over map entries, beginning at an arbitrary
(not strictly random) entry.
|
Object |
remove(Object key)
Removes the mapping for this key from this HashMap if present.
|
void |
removeExpired()
Purge stale entries.
|
Map.Entry |
removeRandom()
Remove an arbitrary(not strictly random) entry from the map.
|
void |
setMaxSize(int maxSize)
The maximum number of entries, or Integer.MAX_VALUE for no limit.
|
int |
size()
Returns the number of key-value mappings in this Map.
|
void |
valueExpired(Object key)
Overridable callback for when a value reference expires.
|
Collection |
values()
Returns a Collection view of the values contained in this HashMap.
|
equals, hashCode, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
public ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType, AbstractReferenceMap.ReferenceStrength valueType, int initialCapacity, float loadFactor)
keyType
- the reference type of map keysvalueType
- the reference type of map valuesinitialCapacity
- the initial capacity of the HashMap.loadFactor
- a number between 0.0 and 1.0.IllegalArgumentException
- if neither keys nor values use hard
references, if the initial capacity is less than or equal to zero, or if
the load factor is less than or equal to zeropublic ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType, AbstractReferenceMap.ReferenceStrength valueType, int initialCapacity)
keyType
- the reference type of map keysvalueType
- the reference type of map valuesinitialCapacity
- the initial capacity of the HashMap.public ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType, AbstractReferenceMap.ReferenceStrength valueType)
keyType
- the reference type of map keysvalueType
- the reference type of map valuespublic ConcurrentReferenceHashMap(AbstractReferenceMap.ReferenceStrength keyType, AbstractReferenceMap.ReferenceStrength valueType, Map t)
keyType
- the reference type of map keysvalueType
- the reference type of map valuesprotected boolean eq(Object x, Object y)
protected int hc(Object o)
Object.hashCode()
public int getMaxSize()
SizedMap
getMaxSize
in interface SizedMap
public void setMaxSize(int maxSize)
SizedMap
setMaxSize
in interface SizedMap
public boolean isFull()
SizedMap
public void overflowRemoved(Object key, Object value)
SizedMap
overflowRemoved
in interface SizedMap
public int size()
size
in interface Map
size
in class AbstractMap
public boolean isEmpty()
isEmpty
in interface Map
isEmpty
in class AbstractMap
public boolean containsValue(Object value)
containsValue
in interface Map
containsValue
in class AbstractMap
value
- value whose presence in this Map is to be tested.public boolean containsKey(Object key)
containsKey
in interface Map
containsKey
in class AbstractMap
key
- key whose presence in this Map is to be tested.public Object get(Object key)
get
in interface Map
get
in class AbstractMap
key
- key whose associated value is to be returned.public Object put(Object key, Object value)
put
in interface Map
put
in class AbstractMap
key
- key with which the specified value is to be associated.value
- value to be associated with the specified key.public Object remove(Object key)
remove
in interface Map
remove
in class AbstractMap
key
- key whose mapping is to be removed from the Map.public void removeExpired()
ReferenceMap
removeExpired
in interface ReferenceMap
public void keyExpired(Object value)
ReferenceMap
keyExpired
in interface ReferenceMap
value
- the value for the expired keypublic void valueExpired(Object key)
ReferenceMap
valueExpired
in interface ReferenceMap
key
- the key for the expired valuepublic Map.Entry removeRandom()
ConcurrentMap
removeRandom
in interface ConcurrentMap
public Iterator randomEntryIterator()
ConcurrentMap
randomEntryIterator
in interface ConcurrentMap
public void putAll(Map t)
putAll
in interface Map
putAll
in class AbstractMap
t
- Mappings to be stored in this Map.public void clear()
clear
in interface Map
clear
in class AbstractMap
public Object clone()
clone
in class AbstractMap
public Set keySet()
keySet
in interface Map
keySet
in class AbstractMap
public Collection values()
values
in interface Map
values
in class AbstractMap
public Set entrySet()
entrySet
in interface Map
entrySet
in class AbstractMap
Map.Entry
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.