public interface KeyAnalyzer<K>
extends java.util.Comparator<K>, java.io.Serializable
Trie
keys on a bit level.
KeyAnalyzer
's methods return the length of the key in bits,
whether or not a bit is set, and bits per element in the key.
Additionally, a method determines if a key is a prefix of another
key and returns the bit index where one key is different from another
key (if the key and found key are equal than the return value is
EQUAL_BIT_KEY
).
Modifier and Type | Field and Description |
---|---|
static int |
EQUAL_BIT_KEY
Returned by
bitIndex(Object, int, int, Object, int, int)
if key and found key are equal. |
static int |
NULL_BIT_KEY
Returned by
bitIndex(Object, int, int, Object, int, int)
if key's bits are all 0 |
static int |
OUT_OF_BOUNDS_BIT_KEY |
Modifier and Type | Method and Description |
---|---|
int |
bitIndex(K key,
int offsetInBits,
int lengthInBits,
K other,
int otherOffsetInBits,
int otherLengthInBits)
Returns the n-th different bit between key and found.
|
int |
bitsPerElement()
Returns the number of bits per element in the key.
|
boolean |
isBitSet(K key,
int bitIndex,
int lengthInBits)
Returns whether or not a bit is set
|
boolean |
isPrefix(K prefix,
int offsetInBits,
int lengthInBits,
K key)
Determines whether or not the given prefix (from offset to length)
is a prefix of the given key.
|
int |
lengthInBits(K key)
Returns the length of the Key in bits.
|
compare, comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
static final int NULL_BIT_KEY
bitIndex(Object, int, int, Object, int, int)
if key's bits are all 0static final int EQUAL_BIT_KEY
bitIndex(Object, int, int, Object, int, int)
if key and found key are equal. This is a very very specific case
and shouldn't happen on a regular basisstatic final int OUT_OF_BOUNDS_BIT_KEY
int bitsPerElement()
int lengthInBits(K key)
boolean isBitSet(K key, int bitIndex, int lengthInBits)
int bitIndex(K key, int offsetInBits, int lengthInBits, K other, int otherOffsetInBits, int otherLengthInBits)
Copyright © 2005-2009 Roger Kapsi, Sam Berlin. All Rights Reserved.