Package com.tangosol.util
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:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Constructor Summary
Constructors Constructor Description StringTable()
Construct a string table using all defaults.StringTable(int nStrength)
Construct a string table using the specified collator strength.StringTable(Collator collator)
Construct a string table using the specified collator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String string)
Add the passed string to the table.boolean
addAll(StringTable that)
Adds all of the nodes in the specified StringTable to this StringTable if they are not already present.void
clear()
Remove all strings from the table.Object
clone()
Make a new string table with a copy of the tree and a copy of the collator.boolean
contains(String string)
Determine if the passed string is in the table.Enumeration
elements()
Create an enumerator for the values in the table.boolean
equals(Object obj)
Test for equality of two string tables.Object
get(String string)
Find the specified string in the table and return its value.int
getSize()
Determine the number of strings in the table.boolean
isEmpty()
Test for empty table.Enumeration
keys()
Enumerate the table's strings.boolean
keysEquals(StringTable that)
Test for equality of the keys in two string tables.void
put(String string, Object value)
Add the passed string to the table and associate the passed value with the string.void
putAll(StringTable that)
Puts all of the nodes in the specified StringTable to this StringTable including the ones that are already present.Object
remove(String string)
Remove the specified string from the table, returning its associated value.boolean
removeAll(StringTable that)
Removes from this StringTable all of its nodes that are contained in the specified StringTable.boolean
retainAll(StringTable that)
Retains only the nodes in this StringTable that are contained in the specified StringTable.String[]
strings()
Get the table's strings.String[]
stringsStartingWith(String prefix)
Get the table's strings that start with a specific string.String
toString()
Provide a string representation of the string table.-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
-
-
-
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
-
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:
Collator.setStrength(int)
,Collator.PRIMARY
,Collator.SECONDARY
,Collator.TERTIARY
,Collator.IDENTICAL
-
-
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 tablevalue
- 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.
-
equals
public boolean equals(Object obj)
Test for equality of two string tables.
-
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
-
-