Top Description Fields Constructors Methods
org.apache.commons.collections4.trie

public Class PatriciaTrie<E>

extends AbstractPatriciaTrie<String, E>
Class Inheritance
Type Parameters
<E>
the type of the values in this map
Imports
java.util.Map, org.apache.commons.collections4.trie.analyzer.StringKeyAnalyzer

Implementation of a PATRICIA Trie (Practical Algorithm to Retrieve Information Coded in Alphanumeric).

A PATRICIA org.apache.commons.collections4.Trie is a compressed org.apache.commons.collections4.Trie. Instead of storing all data at the edges of the org.apache.commons.collections4.Trie (and having empty internal nodes), PATRICIA stores data in every node. This allows for very efficient traversal, insert, delete, predecessor, successor, prefix, range, and select(Object) operations. All operations are performed at worst in O(K) time, where K is the number of bits in the largest item in the tree. In practice, operations actually take O(A(K)) time, where A(K) is the average number of bits of all items in the tree.

Most importantly, PATRICIA requires very few comparisons to keys while doing any operation. While performing a lookup, each comparison (at most K of them, described above) will perform a single bit comparison against the given key, instead of comparing the entire key to another key.

The org.apache.commons.collections4.Trie can return operations in lexicographical order using the 'prefixMap', 'submap', or 'iterator' methods. The org.apache.commons.collections4.Trie can also scan for items that are 'bitwise' (using an XOR metric) by the 'select' method. Bitwise closeness is determined by the KeyAnalyzer returning true or false for a bit being set or not in a given key.

This PATRICIA org.apache.commons.collections4.Trie supports both variable length & fixed length keys. Some methods, such as prefixMap(Object) are suited only to variable length keys.

Since
4.0
See Also
Radix Tree, PATRICIA, Crit-Bit Tree

Field Summary

Modifier and TypeField and Description
private static final long
Inherited from org.apache.commons.collections4.trie.AbstractPatriciaTrie:
modCount

Constructor Summary

AccessConstructor and Description
public
public
PatriciaTrie(final Map<? extends String, ? extends E> m)

Method Summary

Inherited from org.apache.commons.collections4.trie.AbstractPatriciaTrie:
addEntryceilingEntryclearcomparatorcontainsKeydecrementSizeentrySetfirstEntryfirstKeyfloorEntryfollowLeftfollowRightgetgetEntrygetNearestEntryForKeyheadMaphigherEntryincrementSizeisValidUplinkkeySetlastEntrylastKeylowerEntrymapIteratornextEntrynextEntryImplnextEntryInSubtreenextKeyprefixMappreviousEntrypreviousKeyputremoveremoveEntryselectselectKeyselectValuesizesubMapsubtreetailMapvalues

Field Detail

serialVersionUIDback to summary
private static final long serialVersionUID

Hides org.apache.commons.collections4.trie.AbstractPatriciaTrie.serialVersionUID.

Constructor Detail

PatriciaTrieback to summary
public PatriciaTrie()
PatriciaTrieback to summary
public PatriciaTrie(final Map<? extends String, ? extends E> m)