public interface Trie<K,V>
extends java.util.SortedMap<K,V>
| Modifier and Type | Method and Description | 
|---|---|
| java.util.SortedMap<K,V> | prefixMap(K prefix)Returns a view of this  Trieof all elements that are prefixed
 by the given key. | 
| java.util.Map.Entry<K,V> | select(K key)Returns the  Map.Entrywhose key is closest in a bitwise XOR
 metric to the given key. | 
| java.util.Map.Entry<K,V> | select(K key,
      Cursor<? super K,? super V> cursor)Iterates through the  Trie, starting with the entry whose bitwise
 value is closest in an XOR metric to the given key. | 
| K | selectKey(K key)Returns the key that is closest in a bitwise XOR metric to the
 provided key. | 
| V | selectValue(K key)Returns the value whose key is closest in a bitwise XOR metric to
 the provided key. | 
| java.util.Map.Entry<K,V> | traverse(Cursor<? super K,? super V> cursor)Traverses the  Triein lexicographical order. | 
java.util.Map.Entry<K,V> select(K key)
Map.Entry whose key is closest in a bitwise XOR
 metric to the given key. This is NOT lexicographic closeness.
 For example, given the keys:
 Trie contained 'H' and 'L', a lookup of 'D' would
 return 'L', because the XOR distance between D & L is smaller
 than the XOR distance between D & H.Map.Entry whose key is closest in a bitwise XOR metric
 to the provided key.K selectKey(K key)
Trie contained 'H' and 'L', a lookup of 'D' would
 return 'L', because the XOR distance between D & L is smaller
 than the XOR distance between D & H.V selectValue(K key)
Trie contained 'H' and 'L', a lookup of 'D' would
 return 'L', because the XOR distance between D & L is smaller
 than the XOR distance between D & H.java.util.Map.Entry<K,V> select(K key, Cursor<? super K,? super V> cursor)
Trie, starting with the entry whose bitwise
 value is closest in an XOR metric to the given key. After the closest
 entry is found, the Trie will call select on that entry and continue
 calling select for each entry (traversing in order of XOR closeness,
 NOT lexicographically) until the cursor returns Cursor.Decision.EXIT.
 The cursor can return Cursor.Decision.CONTINUE to continue traversing.
 
Cursor.Decision.REMOVE_AND_EXIT is used to remove the current element
 and stop traversing.
 
Note: The Cursor.Decision.REMOVE operation is not supported.
Cursor.Decision.EXIT on, or null
 if it continued till the end.java.util.Map.Entry<K,V> traverse(Cursor<? super K,? super V> cursor)
Trie in lexicographical order.
 Cursor.select(java.util.Map.Entry) will be called on each entry.
 The traversal will stop when the cursor returns Cursor.Decision.EXIT,
 Cursor.Decision.CONTINUE is used to continue traversing and
 Cursor.Decision.REMOVE is used to remove the element that was selected
 and continue traversing.
 
Cursor.Decision.REMOVE_AND_EXIT is used to remove the current element
 and stop traversing.
Cursor.Decision.EXIT on, or null
 if it continued till the end.java.util.SortedMap<K,V> prefixMap(K prefix)
Trie of all elements that are prefixed
 by the given key.
 In a Trie with fixed size keys, this is essentially a
 Map.get(Object) operation.
 
For example, if the Trie contains 'Anna', 'Anael',
 'Analu', 'Andreas', 'Andrea', 'Andres', and 'Anatole', then
 a lookup of 'And' would return 'Andreas', 'Andrea', and 'Andres'.
Copyright © 2018 The Apache Software Foundation