Package com.tangosol.util
Class Tree
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.util.Tree
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class Tree extends Base implements Cloneable, Serializable
A thread-safe balanced binary search tree.As of Coherence 3.3 this class is a wrapper around
TreeMap
.Note: Where practical, use
java.util.TreeMap
; including external syncronization as necessary.- Author:
- cp 1997.09.05; mf 2007.10.16
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Constructor Summary
Constructors Constructor Description Tree()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Comparable key)
Add the passed key to the tree.boolean
addAll(Tree that)
Adds all of the nodes in the specified Tree to this Tree if they are not already present.void
clear()
Remove all nodes from the tree.Object
clone()
Make a shallow copy of the tree and its nodes.boolean
contains(Comparable key)
Determine if the passed key is in the tree.Enumeration
elements()
Create an enumerator for the tree's values.boolean
equals(Object obj)
Test for tree equality.Object
get(Comparable key)
Find the specified key and return its value.int
getSize()
Determine the size of the tree.protected Enumeration
getUnsynchronizedKeyEnumerator()
Get an enumerator of the nodes in the tree.protected Enumeration
getUnsynchronizedKeyEnumerator(Comparable key)
Get an enumerator of the nodes in the tree.boolean
isEmpty()
Test for empty tree.Enumeration
keys()
Create an in-order enumerator for the tree's keys.void
print()
In-order printing of the contents of the tree.void
put(Comparable key, Object value)
Add the passed key to the tree and associate the passed value with the key.void
putAll(Tree that)
Puts all of the nodes in the specified Tree to this Tree (including the ones that are already present).Object
remove(Comparable key)
Remove the specified key from the tree, returning its associated value.boolean
removeAll(Tree that)
Removes from this Tree all of its nodes that are contained in the specified Tree.boolean
retainAll(Tree that)
Retains only the nodes in this Tree that are contained in the specified Tree.String
toString()
Provide a string representation of the tree.-
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
-
-
-
-
Field Detail
-
m_tree
protected TreeMap m_tree
The delgate tree.
-
-
Method Detail
-
add
public void add(Comparable key)
Add the passed key to the tree.- Parameters:
key
- the key to add to the tree
-
put
public void put(Comparable key, Object value)
Add the passed key to the tree and associate the passed value with the key. If the key is already in the tree, the passed value will replace the current value stored with the key.- Parameters:
key
- the key to add to the treevalue
- the object to associate with the key
-
get
public Object get(Comparable key)
Find the specified key and return its value.- Parameters:
key
- the key to look for in the tree- Returns:
- the associated value or null if the key is not in the tree
-
contains
public boolean contains(Comparable key)
Determine if the passed key is in the tree.- Parameters:
key
- the key to look for in the tree- Returns:
- true if the key is in the tree, false otherwise
-
remove
public Object remove(Comparable key)
Remove the specified key from the tree, returning its associated value.- Parameters:
key
- the key to look for in the tree- Returns:
- the associated value (which can be null) or null if the key is not in the tree
-
clear
public void clear()
Remove all nodes from the tree.
-
getSize
public int getSize()
Determine the size of the tree.- Returns:
- the number of nodes in the tree
-
isEmpty
public boolean isEmpty()
Test for empty tree.- Returns:
- true if tree has no nodes
-
keys
public Enumeration keys()
Create an in-order enumerator for the tree's keys.- Returns:
- an enumerator of the tree's keys
-
elements
public Enumeration elements()
Create an enumerator for the tree's values.- Returns:
- an enumerator of the tree's values (in the same order that the keys were returned)
-
addAll
public boolean addAll(Tree that)
Adds all of the nodes in the specified Tree to this Tree if they are not already present. This operation effectively modifies this Tree so that its value is the union of the two Trees. The behavior of this operation is unspecified if the specified Tree is modified while the operation is in progress.- Returns:
- true if this Tree changed as a result of the call.
- See Also:
Collection.addAll(Collection)
-
putAll
public void putAll(Tree that)
Puts all of the nodes in the specified Tree to this Tree (including the ones that are already present). This operation effectively modifies this Tree so that its value is the union of the two Trees. The behavior of this operation is unspecified if the specified Tree is modified while the operation is in progress.
-
retainAll
public boolean retainAll(Tree that)
Retains only the nodes in this Tree that are contained in the specified Tree. In other words, removes from this Tree all of its nodes that are not contained in the specified Tree. This operation effectively modifies this Tree so that its value is the intersection of the two Trees.- Returns:
- true if this Collection changed as a result of the call.
- See Also:
Collection.retainAll(Collection)
-
removeAll
public boolean removeAll(Tree that)
Removes from this Tree all of its nodes that are contained in the specified Tree. This operation effectively modifies this Tree so that its value is the asymmetric set difference of the two Trees.- Returns:
- true if this Tree changed as a result of the call.
- See Also:
Collection.removeAll(Collection)
-
toString
public String toString()
Provide a string representation of the tree.
-
clone
public Object clone()
Make a shallow copy of the tree and its nodes. Note that cloning does make new copies of each node.
-
print
public void print()
In-order printing of the contents of the tree.
-
getUnsynchronizedKeyEnumerator
protected Enumeration getUnsynchronizedKeyEnumerator()
Get an enumerator of the nodes in the tree. This enumerator is not in any way thread-safe, so the tree should be synchronized for as long as this enumerator is in use. Note: Purposefully package private; used by StringTable
-
getUnsynchronizedKeyEnumerator
protected Enumeration getUnsynchronizedKeyEnumerator(Comparable key)
Get an enumerator of the nodes in the tree. This enumerator is not in any way thread-safe, so the tree should be synchronized for as long as this enumerator is in use. Note: Purposefully package private; used by StringTable
-
-