Package weka.core
Class Trie
java.lang.Object
weka.core.Trie
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<String>
,Collection<String>
,RevisionHandler
public class Trie
extends Object
implements Serializable, Cloneable, Collection<String>, RevisionHandler
A class representing a Trie data structure for strings. See also Trie on
WikiPedia.
- Version:
- $Revision: 10203 $
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Represents an iterator over a triestatic class
Represents a node in the trie. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Ensures that this collection contains the specified element.boolean
addAll
(Collection<? extends String> c) Adds all of the elements in the specified collection to this collectionvoid
clear()
Removes all of the elements from this collectionclone()
returns a deep copy of itselfboolean
Returns true if this collection contains the specified element.boolean
containsAll
(Collection<?> c) Returns true if this collection contains all of the elements in the specified collection.boolean
containsPrefix
(String prefix) checks whether the given prefix is stored in the trieboolean
Compares the specified object with this collection for equality.returns the common prefix for all the nodesReturns the revision string.getRoot()
returns the root node of the triegetWithPrefix
(String prefix) returns all stored strings that match the given prefixint
hashCode()
Returns the hash code value for this collection.boolean
isEmpty()
Returns true if this collection contains no elements.iterator()
Returns an iterator over the elements in this collection.static void
Only for testing (prints the built Trie).boolean
Removes a single instance of the specified element from this collection, if it is present.boolean
removeAll
(Collection<?> c) Removes all this collection's elements that are also contained in the specified collectionboolean
retainAll
(Collection<?> c) Retains only the elements in this collection that are contained in the specified collectionint
size()
Returns the number of elements in this collection.Object[]
toArray()
Returns an array containing all of the elements in this collection.<T> T[]
toArray
(T[] a) Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.toString()
returns the trie in string representationMethods inherited from interface java.util.Collection
parallelStream, removeIf, spliterator, stream, toArray
-
Constructor Details
-
Trie
public Trie()initializes the data structure
-
-
Method Details
-
add
Ensures that this collection contains the specified element.- Specified by:
add
in interfaceCollection<String>
- Parameters:
o
- the string to add- Returns:
- true if the structure changed
-
addAll
Adds all of the elements in the specified collection to this collection- Specified by:
addAll
in interfaceCollection<String>
- Parameters:
c
- the collection to add
-
clear
public void clear()Removes all of the elements from this collection- Specified by:
clear
in interfaceCollection<String>
-
clone
returns a deep copy of itself- Returns:
- a copy of itself
-
contains
Returns true if this collection contains the specified element.- Specified by:
contains
in interfaceCollection<String>
- Parameters:
o
- the object to check for in trie- Returns:
- true if found
-
containsAll
Returns true if this collection contains all of the elements in the specified collection.- Specified by:
containsAll
in interfaceCollection<String>
- Parameters:
c
- the collection to look for in the trie- Returns:
- true if all elements were found
-
containsPrefix
checks whether the given prefix is stored in the trie- Parameters:
prefix
- the prefix to check- Returns:
- true if the prefix is part of the trie
-
equals
Compares the specified object with this collection for equality.- Specified by:
equals
in interfaceCollection<String>
- Overrides:
equals
in classObject
- Parameters:
o
- the object to check for equality
-
getCommonPrefix
returns the common prefix for all the nodes- Returns:
- the result of the search
-
getRoot
returns the root node of the trie- Returns:
- the root node
-
getWithPrefix
returns all stored strings that match the given prefix- Parameters:
prefix
- the prefix that all strings must have- Returns:
- all strings that match the prefix
-
hashCode
public int hashCode()Returns the hash code value for this collection.- Specified by:
hashCode
in interfaceCollection<String>
- Overrides:
hashCode
in classObject
- Returns:
- the hash code
-
isEmpty
public boolean isEmpty()Returns true if this collection contains no elements.- Specified by:
isEmpty
in interfaceCollection<String>
- Returns:
- true if empty
-
iterator
Returns an iterator over the elements in this collection. -
remove
Removes a single instance of the specified element from this collection, if it is present.- Specified by:
remove
in interfaceCollection<String>
- Parameters:
o
- the object to remove- Returns:
- true if this collection changed as a result of the call
-
removeAll
Removes all this collection's elements that are also contained in the specified collection- Specified by:
removeAll
in interfaceCollection<String>
- Parameters:
c
- the collection to remove- Returns:
- true if the collection changed
-
retainAll
Retains only the elements in this collection that are contained in the specified collection- Specified by:
retainAll
in interfaceCollection<String>
- Parameters:
c
- the collection to use as reference- Returns:
- true if this collection changed as a result of the call
-
size
public int size()Returns the number of elements in this collection.- Specified by:
size
in interfaceCollection<String>
- Returns:
- the number of nodes in the tree
-
toArray
Returns an array containing all of the elements in this collection.- Specified by:
toArray
in interfaceCollection<String>
- Returns:
- the stored strings as array
-
toArray
public <T> T[] toArray(T[] a) Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array.- Specified by:
toArray
in interfaceCollection<String>
- Parameters:
a
- the array into which the elements of this collection are to be stored- Returns:
- an array containing the elements of this collection
-
toString
returns the trie in string representation -
getRevision
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Returns:
- the revision
-
main
Only for testing (prints the built Trie). Arguments are added to the Trie. If not arguments provided then a few default strings are uses for building.- Parameters:
args
- commandline arguments
-