Class StringTable

    • Constructor Detail

      • 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:
        Collator
    • Method Detail

      • 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:
        Collection.addAll(Collection)
      • 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:
        Collection.retainAll(Collection)
      • 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:
        Collection.removeAll(Collection)
      • 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