public final class CompactStringObjectMap
extends java.lang.Object
implements java.io.Serializable
Map
, but for special case of key always being
String
and using more compact (and memory-access
friendly) hashing scheme. Assumption is also that keys are typically
intern()ed.
Generics are not used to avoid bridge methods and since these maps are not exposed as part of external API.
Modifier and Type | Field and Description |
---|---|
private java.lang.Object[] |
_hashArea |
private int |
_hashMask |
private int |
_spillCount |
private static CompactStringObjectMap |
EMPTY
Shared instance that can be used when there are no contents to Map.
|
private static long |
serialVersionUID |
Modifier | Constructor and Description |
---|---|
private |
CompactStringObjectMap(int hashMask,
int spillCount,
java.lang.Object[] hashArea) |
Modifier and Type | Method and Description |
---|---|
private java.lang.Object |
_find2(java.lang.String key,
int slot,
java.lang.Object match) |
static <T> CompactStringObjectMap |
construct(java.util.Map<java.lang.String,T> all) |
java.lang.Object |
find(java.lang.String key) |
private static int |
findSize(int size) |
java.util.List<java.lang.String> |
keys() |
private static final long serialVersionUID
private static final CompactStringObjectMap EMPTY
private final int _hashMask
private final int _spillCount
private final java.lang.Object[] _hashArea
private CompactStringObjectMap(int hashMask, int spillCount, java.lang.Object[] hashArea)
public static <T> CompactStringObjectMap construct(java.util.Map<java.lang.String,T> all)
private static final int findSize(int size)
public java.lang.Object find(java.lang.String key)
private final java.lang.Object _find2(java.lang.String key, int slot, java.lang.Object match)
public java.util.List<java.lang.String> keys()