Package com.mycila.xmltool
Class SoftHashMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- com.mycila.xmltool.SoftHashMap<K,V>
-
- All Implemented Interfaces:
java.util.Map<K,V>
final class SoftHashMap<K,V> extends java.util.AbstractMap<K,V> implements java.util.Map<K,V>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SoftHashMap.Entry<K,V>
private class
SoftHashMap.EntryIterator
private class
SoftHashMap.EntrySet
private class
SoftHashMap.HashIterator<T>
private class
SoftHashMap.KeyIterator
private class
SoftHashMap.KeySet
private static class
SoftHashMap.SimpleEntry<K,V>
private class
SoftHashMap.ValueIterator
private class
SoftHashMap.Values
-
Field Summary
Fields Modifier and Type Field Description private static int
DEFAULT_INITIAL_CAPACITY
private static float
DEFAULT_LOAD_FACTOR
private java.util.Set<java.util.Map.Entry<K,V>>
entrySet
private java.util.Set<K>
keySet
private float
loadFactor
private static int
MAXIMUM_CAPACITY
private int
modCount
private static java.lang.Object
NULL_KEY
private java.lang.ref.ReferenceQueue<K>
queue
private int
size
private SoftHashMap.Entry<K,V>[]
table
private int
threshold
private java.util.Collection<V>
values
-
Constructor Summary
Constructors Constructor Description SoftHashMap()
SoftHashMap(int initialCapacity)
SoftHashMap(int initialCapacity, float loadFactor)
SoftHashMap(java.util.Map<? extends K,? extends V> t)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(java.lang.Object key)
private boolean
containsNullValue()
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
private static boolean
eq(java.lang.Object x, java.lang.Object y)
private void
expungeStaleEntries()
V
get(java.lang.Object key)
private SoftHashMap.Entry<K,V>
getEntry(java.lang.Object key)
private SoftHashMap.Entry<K,V>[]
getTable()
private static int
hash(int h)
private static int
hash(java.lang.Object key)
private static int
indexFor(int h, int length)
boolean
isEmpty()
java.util.Set<K>
keySet()
private static <K> K
maskNull(java.lang.Object key)
V
put(K key, V value)
void
putAll(java.util.Map<? extends K,? extends V> m)
V
remove(java.lang.Object key)
private SoftHashMap.Entry<K,V>
removeMapping(java.lang.Object o)
private void
resize(int newCapacity)
int
size()
private void
transfer(SoftHashMap.Entry<K,V>[] src, SoftHashMap.Entry<K,V>[] dest)
private static <K> K
unmaskNull(java.lang.Object key)
java.util.Collection<V>
values()
-
-
-
Field Detail
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
MAXIMUM_CAPACITY
private static final int MAXIMUM_CAPACITY
- See Also:
- Constant Field Values
-
DEFAULT_LOAD_FACTOR
private static final float DEFAULT_LOAD_FACTOR
- See Also:
- Constant Field Values
-
NULL_KEY
private static final java.lang.Object NULL_KEY
-
table
private SoftHashMap.Entry<K,V>[] table
-
size
private int size
-
threshold
private int threshold
-
loadFactor
private final float loadFactor
-
queue
private final java.lang.ref.ReferenceQueue<K> queue
-
modCount
private volatile int modCount
-
keySet
private transient volatile java.util.Set<K> keySet
-
values
private transient volatile java.util.Collection<V> values
-
-
Method Detail
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
get
public V get(java.lang.Object key)
-
containsKey
public boolean containsKey(java.lang.Object key)
-
remove
public V remove(java.lang.Object key)
-
clear
public void clear()
-
containsValue
public boolean containsValue(java.lang.Object value)
-
keySet
public java.util.Set<K> keySet()
-
values
public java.util.Collection<V> values()
-
expungeStaleEntries
private void expungeStaleEntries()
-
getTable
private SoftHashMap.Entry<K,V>[] getTable()
-
getEntry
private SoftHashMap.Entry<K,V> getEntry(java.lang.Object key)
-
resize
private void resize(int newCapacity)
-
transfer
private void transfer(SoftHashMap.Entry<K,V>[] src, SoftHashMap.Entry<K,V>[] dest)
-
removeMapping
private SoftHashMap.Entry<K,V> removeMapping(java.lang.Object o)
-
containsNullValue
private boolean containsNullValue()
-
maskNull
private static <K> K maskNull(java.lang.Object key)
-
unmaskNull
private static <K> K unmaskNull(java.lang.Object key)
-
eq
private static boolean eq(java.lang.Object x, java.lang.Object y)
-
indexFor
private static int indexFor(int h, int length)
-
hash
private static int hash(java.lang.Object key)
-
hash
private static int hash(int h)
-
-