Class StringTable

java.lang.Object
com.tangosol.util.Base
com.tangosol.util.StringTable
All Implemented Interfaces:
Serializable, Cloneable

public final class StringTable extends Base implements Cloneable, Serializable
Like a hash table, but built specifically for strings. Enumerates contents in order.
Version:
1.00 09/03/97
Author:
Cameron Purdy
See Also:
  • Constructor Details

    • StringTable

      public StringTable()
      Construct a string table using all defaults.
    • StringTable

      public StringTable(Collator collator)
      Construct a string table using the specified collator.
      Parameters:
      collator - an instance of java.text.Collator to use to compare strings
      See Also:
    • StringTable

      public StringTable(int nStrength)
      Construct a string table using the specified collator strength.
      Parameters:
      nStrength - a valid value for java.text.Collator
      See Also:
  • Method Details

    • add

      public void add(String string)
      Add the passed string to the table.
      Parameters:
      string - the string to add to the table
    • put

      public void put(String string, Object value)
      Add the passed string to the table and associate the passed value with the string. If the string is already in the table, the passed value will replace the current value stored with the string.
      Parameters:
      string - the string to add to the table
      value - the object to associate with the string
    • get

      public Object get(String string)
      Find the specified string in the table and return its value.
      Parameters:
      string - the string to look for in the table
      Returns:
      the associated value or null if the string is not in the table
    • contains

      public boolean contains(String string)
      Determine if the passed string is in the table.
      Parameters:
      string - the string to look for in the table
      Returns:
      true if the string is in the table, false otherwise
    • remove

      public Object remove(String string)
      Remove the specified string from the table, returning its associated value.
      Parameters:
      string - the string to look for in the table
      Returns:
      the associated value (which can be null) or null if the string is not in the table
    • clear

      public void clear()
      Remove all strings from the table.
    • getSize

      public int getSize()
      Determine the number of strings in the table.
      Returns:
      the number of strings in the table
    • isEmpty

      public boolean isEmpty()
      Test for empty table.
      Returns:
      true if table has no strings
    • strings

      public String[] strings()
      Get the table's strings.
      Returns:
      an array of strings.
    • stringsStartingWith

      public String[] stringsStartingWith(String prefix)
      Get the table's strings that start with a specific string.
      Returns:
      an array of strings.
    • keys

      public Enumeration keys()
      Enumerate the table's strings.
      Returns:
      an enumerator of the table's strings
    • elements

      public Enumeration elements()
      Create an enumerator for the values in the table.
      Returns:
      an enumerator of the table's values (in the same order that the strings were returned)
    • addAll

      public boolean addAll(StringTable that)
      Adds all of the nodes in the specified StringTable to this StringTable if they are not already present. This operation effectively modifies this StringTable so that its value is the union of the two StringTables. The behavior of this operation is unspecified if the specified StringTable is modified while the operation is in progress.
      Returns:
      true if this StringTable changed as a result of the call.
      See Also:
    • putAll

      public void putAll(StringTable that)
      Puts all of the nodes in the specified StringTable to this StringTable including the ones that are already present. This operation effectively modifies this StringTable so that its value is the union of the two StringTables. The behavior of this operation is unspecified if the specified StringTable is modified while the operation is in progress.
    • retainAll

      public boolean retainAll(StringTable that)
      Retains only the nodes in this StringTable that are contained in the specified StringTable. In other words, removes from this StringTable all of its nodes that are not contained in the specified StringTable. This operation effectively modifies this StringTable so that its value is the intersection of the two StringTables.
      Returns:
      true if this Collection changed as a result of the call.
      See Also:
    • removeAll

      public boolean removeAll(StringTable that)
      Removes from this StringTable all of its nodes that are contained in the specified StringTable. This operation effectively modifies this StringTable so that its value is the asymmetric set difference of the two StringTables.
      Returns:
      true if this StringTable changed as a result of the call.
      See Also:
    • toString

      public String toString()
      Provide a string representation of the string table.
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Test for equality of two string tables.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare to
      Returns:
      true if the both objects are string tables with the same keys and elements
    • keysEquals

      public boolean keysEquals(StringTable that)
      Test for equality of the keys in two string tables.
      Parameters:
      that - the string table to compare to
      Returns:
      true if the both string tables have the same keys
    • clone

      public Object clone()
      Make a new string table with a copy of the tree and a copy of the collator.
      Overrides:
      clone in class Object