public class HashTrie<T> extends java.lang.Object implements Trie<T>
Map.remove(Object) is not supported.| Modifier and Type | Class and Description |
|---|---|
private static class |
HashTrie.Entry<T> |
private static class |
HashTrie.Node<T>
Node inside the trie.
|
Trie.TrieProxy<T>, Trie.Unmodifiable<T>, Trie.Util| Modifier and Type | Field and Description |
|---|---|
private int |
maxKeyLen |
private HashTrie.Node<T> |
root |
private int |
size |
| Constructor and Description |
|---|
HashTrie() |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clear all entries.
|
boolean |
containsKey(java.lang.Object key) |
boolean |
containsValue(java.lang.Object value) |
java.util.Set<java.util.Map.Entry<java.lang.CharSequence,T>> |
entrySet() |
boolean |
equals(java.lang.Object other) |
T |
get(java.lang.Object key)
Get the value for a key.
|
java.util.Map.Entry<java.lang.CharSequence,T> |
getLongestMatch(java.lang.CharSequence key)
Get the key value entry who's key is the longest prefix match.
|
java.util.Map.Entry<java.lang.CharSequence,T> |
getLongestMatch(java.io.PushbackReader keyIn)
Get the key value entry who's key is the longest prefix match.
|
int |
getMaxKeyLength()
Get the maximum key length.
|
int |
hashCode() |
boolean |
isEmpty() |
java.util.Set<java.lang.CharSequence> |
keySet() |
T |
put(java.lang.CharSequence key,
T value)
Add mapping.
|
void |
putAll(java.util.Map<? extends java.lang.CharSequence,? extends T> map) |
T |
remove(java.lang.Object key)
Remove a entry.
|
int |
size()
Get the number of entries.
|
java.lang.String |
toString() |
java.util.Collection<T> |
values() |
private HashTrie.Node<T> root
private int maxKeyLen
private int size
public java.util.Map.Entry<java.lang.CharSequence,T> getLongestMatch(java.lang.CharSequence key)
getLongestMatch in interface Trie<T>key - The key to lookuppublic java.util.Map.Entry<java.lang.CharSequence,T> getLongestMatch(java.io.PushbackReader keyIn) throws java.io.IOException
getLongestMatch in interface Trie<T>keyIn - Pushback reader to read the key from. This should
have a buffer at least as large as getMaxKeyLength()
or an IOException may be thrown backing up.java.io.IOException - if keyIn.read() or keyIn.unread() does.public int getMaxKeyLength()
getMaxKeyLength in interface Trie<T>public void clear()
clear in interface java.util.Map<java.lang.CharSequence,T>public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<java.lang.CharSequence,T>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<java.lang.CharSequence,T>public T put(java.lang.CharSequence key, T value) throws java.lang.NullPointerException
put in interface java.util.Map<java.lang.CharSequence,T>key - The mapping's key.java.lang.NullPointerException - if key or value is null.public T remove(java.lang.Object key) throws java.lang.UnsupportedOperationException
remove in interface java.util.Map<java.lang.CharSequence,T>java.lang.UnsupportedOperationException - always.public void putAll(java.util.Map<? extends java.lang.CharSequence,? extends T> map)
putAll in interface java.util.Map<java.lang.CharSequence,T>public java.util.Set<java.lang.CharSequence> keySet()
keySet in interface java.util.Map<java.lang.CharSequence,T>public java.util.Collection<T> values()
values in interface java.util.Map<java.lang.CharSequence,T>public java.util.Set<java.util.Map.Entry<java.lang.CharSequence,T>> entrySet()
entrySet in interface java.util.Map<java.lang.CharSequence,T>public T get(java.lang.Object key)
get in interface java.util.Map<java.lang.CharSequence,T>key - The key to look up.public int size()
size in interface java.util.Map<java.lang.CharSequence,T>public boolean equals(java.lang.Object other)
equals in interface java.util.Map<java.lang.CharSequence,T>equals in class java.lang.Objectpublic int hashCode()
hashCode in interface java.util.Map<java.lang.CharSequence,T>hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean isEmpty()
isEmpty in interface java.util.Map<java.lang.CharSequence,T>