public class HashTable extends LispObject
Modifier and Type | Class and Description |
---|---|
protected static class |
HashTable.Comparator |
protected static class |
HashTable.EqlComparator |
protected static class |
HashTable.EqualComparator |
protected static class |
HashTable.EqualpComparator |
protected static class |
HashTable.HashEntry |
Modifier and Type | Field and Description |
---|---|
protected HashTable.HashEntry[] |
buckets |
(package private) HashTable.Comparator |
comparator |
protected int |
count |
protected static float |
loadFactor |
private ReentrantLock |
lock |
protected LispObject |
rehashSize |
protected LispObject |
rehashThreshold |
protected int |
threshold |
Modifier | Constructor and Description |
---|---|
protected |
HashTable(HashTable.Comparator c,
int size,
LispObject rehashSize,
LispObject rehashThreshold) |
ABS, add, add, aref_long, aref, AREF, AREF, aset, aset, aset, ash, ash, atom, ATOM, caddr, cadr, car, cddr, cdr, CHAR, characterp, CHARACTERP, chars, COMPLEXP, constantp, CONSTANTP, copyToArray, decr, DENOMINATOR, dispatch, divideBy, doubleValue, elt, endp, ENDP, EQ, eql, eql, eql, EQL, equal, equal, EQUAL, equalp, evenp, EVENP, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, floatp, FLOATP, floatValue, getBooleanValue, getCallCount, getDescription, getDocumentation, getFixnumSlotValue, getHotCount, getInstance, getPropertyList, getSlotValue_0, getSlotValue_1, getSlotValue_2, getSlotValue_3, getSlotValue, getSlotValueAsBoolean, getStringChars, getStringValue, getSymbolFunction, getSymbolFunctionOrDie, getSymbolSetfFunction, getSymbolSetfFunctionOrDie, getSymbolValue, incr, incrementCallCount, incrementHotCount, integerp, INTEGERP, intValue, IS_E, IS_GE, IS_GT, IS_LE, IS_LT, IS_NE, isEqualTo, isEqualTo, isGreaterThan, isGreaterThan, isGreaterThanOrEqualTo, isGreaterThanOrEqualTo, isLessThan, isLessThan, isLessThanOrEqualTo, isLessThanOrEqualTo, isNotEqualTo, isNotEqualTo, isSpecialOperator, isSpecialVariable, javaInstance, javaInstance, LDB, length, LENGTH, listp, LISTP, lockableInstance, LOGAND, LOGAND, LOGIOR, LOGIOR, LOGNOT, LOGXOR, LOGXOR, longValue, minusp, MINUSP, MOD, MOD, multiplyBy, multiplyBy, negate, noFillPointer, NOT, nreverse, NTH, NTH, nthcdr, numberp, NUMBERP, NUMERATOR, oddp, ODDP, plusp, PLUSP, psxhash, push, rationalp, RATIONALP, realp, REALP, resolve, reverse, RPLACA, RPLACD, SCHAR, setCallCount, setCar, setCdr, setDocumentation, setHotCount, setPropertyList, setSlotValue_0, setSlotValue_1, setSlotValue_2, setSlotValue_3, setSlotValue, setSlotValue, SIMPLE_STRING_P, SLOT_VALUE, STRING, stringp, STRINGP, subtract, subtract, SVREF, svset, sxhash, SYMBOLP, truncate, unreadableString, unreadableString, unreadableString, unreadableString, VECTOR_PUSH_EXTEND, VECTOR_PUSH_EXTEND, vectorp, VECTORP, vectorPushExtend, zerop, ZEROP
protected static final float loadFactor
protected final LispObject rehashSize
protected final LispObject rehashThreshold
protected int threshold
protected volatile HashTable.HashEntry[] buckets
protected volatile int count
final HashTable.Comparator comparator
private final ReentrantLock lock
protected HashTable(HashTable.Comparator c, int size, LispObject rehashSize, LispObject rehashThreshold)
protected static int calculateInitialCapacity(int size)
public static HashTable newEqHashTable(int size, LispObject rehashSize, LispObject rehashThreshold)
public static HashTable newEqlHashTable(int size, LispObject rehashSize, LispObject rehashThreshold)
public static HashTable newEqualHashTable(int size, LispObject rehashSize, LispObject rehashThreshold)
public static LispObject newEqualpHashTable(int size, LispObject rehashSize, LispObject rehashThreshold)
public final LispObject getRehashSize()
public final LispObject getRehashThreshold()
public int getSize()
public int getCount()
public LispObject typeOf()
typeOf
in class LispObject
public LispObject classOf()
classOf
in class LispObject
public LispObject typep(LispObject type)
typep
in class LispObject
public boolean equalp(LispObject obj)
equalp
in class LispObject
public LispObject getParts()
LispObject
getParts
in class LispObject
public void clear()
public LispObject gethash(LispObject key)
public LispObject gethash(LispObject key, LispObject defaultValue)
public LispObject gethash1(LispObject key)
public LispObject puthash(LispObject key, LispObject newValue)
public LispObject remhash(LispObject key)
public String writeToString()
writeToString
in class LispObject
public Symbol getTest()
protected HashTable.HashEntry getEntry(LispObject key)
public LispObject get(LispObject key)
public void put(LispObject key, LispObject value)
public LispObject remove(LispObject key)
protected void rehash()
public LispObject ENTRIES()
public LispObject MAPHASH(LispObject function)
public int psxhash()
psxhash
in class LispObject