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

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Represents an iterator over a trie
    static class 
    Represents a node in the trie.
  • Constructor Summary

    Constructors
    Constructor
    Description
    initializes the data structure
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    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 collection
    void
    Removes all of the elements from this collection
    returns a deep copy of itself
    boolean
    Returns true if this collection contains the specified element.
    boolean
    Returns true if this collection contains all of the elements in the specified collection.
    boolean
    checks whether the given prefix is stored in the trie
    boolean
    Compares the specified object with this collection for equality.
    returns the common prefix for all the nodes
    Returns the revision string.
    returns the root node of the trie
    returns all stored strings that match the given prefix
    int
    Returns the hash code value for this collection.
    boolean
    Returns true if this collection contains no elements.
    Returns an iterator over the elements in this collection.
    static void
    main(String[] args)
    Only for testing (prints the built Trie).
    boolean
    Removes a single instance of the specified element from this collection, if it is present.
    boolean
    Removes all this collection's elements that are also contained in the specified collection
    boolean
    Retains only the elements in this collection that are contained in the specified collection
    int
    Returns the number of elements in this collection.
    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.
    returns the trie in string representation

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.util.Collection

    parallelStream, removeIf, spliterator, stream, toArray

    Methods inherited from interface java.lang.Iterable

    forEach
  • Constructor Details

    • Trie

      public Trie()
      initializes the data structure
  • Method Details

    • add

      public boolean add(String o)
      Ensures that this collection contains the specified element.
      Specified by:
      add in interface Collection<String>
      Parameters:
      o - the string to add
      Returns:
      true if the structure changed
    • addAll

      public boolean addAll(Collection<? extends String> c)
      Adds all of the elements in the specified collection to this collection
      Specified by:
      addAll in interface Collection<String>
      Parameters:
      c - the collection to add
    • clear

      public void clear()
      Removes all of the elements from this collection
      Specified by:
      clear in interface Collection<String>
    • clone

      public Object clone()
      returns a deep copy of itself
      Returns:
      a copy of itself
    • contains

      public boolean contains(Object o)
      Returns true if this collection contains the specified element.
      Specified by:
      contains in interface Collection<String>
      Parameters:
      o - the object to check for in trie
      Returns:
      true if found
    • containsAll

      public boolean containsAll(Collection<?> c)
      Returns true if this collection contains all of the elements in the specified collection.
      Specified by:
      containsAll in interface Collection<String>
      Parameters:
      c - the collection to look for in the trie
      Returns:
      true if all elements were found
    • containsPrefix

      public boolean containsPrefix(String prefix)
      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

      public boolean equals(Object o)
      Compares the specified object with this collection for equality.
      Specified by:
      equals in interface Collection<String>
      Overrides:
      equals in class Object
      Parameters:
      o - the object to check for equality
    • getCommonPrefix

      public String getCommonPrefix()
      returns the common prefix for all the nodes
      Returns:
      the result of the search
    • getRoot

      public Trie.TrieNode getRoot()
      returns the root node of the trie
      Returns:
      the root node
    • getWithPrefix

      public Vector<String> getWithPrefix(String prefix)
      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 interface Collection<String>
      Overrides:
      hashCode in class Object
      Returns:
      the hash code
    • isEmpty

      public boolean isEmpty()
      Returns true if this collection contains no elements.
      Specified by:
      isEmpty in interface Collection<String>
      Returns:
      true if empty
    • iterator

      public Iterator<String> iterator()
      Returns an iterator over the elements in this collection.
      Specified by:
      iterator in interface Collection<String>
      Specified by:
      iterator in interface Iterable<String>
      Returns:
      returns an iterator over all the stored strings
    • remove

      public boolean remove(Object o)
      Removes a single instance of the specified element from this collection, if it is present.
      Specified by:
      remove in interface Collection<String>
      Parameters:
      o - the object to remove
      Returns:
      true if this collection changed as a result of the call
    • removeAll

      public boolean removeAll(Collection<?> c)
      Removes all this collection's elements that are also contained in the specified collection
      Specified by:
      removeAll in interface Collection<String>
      Parameters:
      c - the collection to remove
      Returns:
      true if the collection changed
    • retainAll

      public boolean retainAll(Collection<?> c)
      Retains only the elements in this collection that are contained in the specified collection
      Specified by:
      retainAll in interface Collection<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 interface Collection<String>
      Returns:
      the number of nodes in the tree
    • toArray

      public Object[] toArray()
      Returns an array containing all of the elements in this collection.
      Specified by:
      toArray in interface Collection<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 interface Collection<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

      public String toString()
      returns the trie in string representation
      Overrides:
      toString in class Object
      Returns:
      the trie as string
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • main

      public static void main(String[] args)
      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