Package org.apache.commons.collections
Class DoubleOrderedMap.Node
- java.lang.Object
-
- org.apache.commons.collections.DoubleOrderedMap.Node
-
- All Implemented Interfaces:
java.util.Map.Entry,KeyValue
- Enclosing class:
- DoubleOrderedMap
private static final class DoubleOrderedMap.Node extends java.lang.Object implements java.util.Map.Entry, KeyValue
-
-
Field Summary
Fields Modifier and Type Field Description private boolean[]blackColorprivate booleancalculatedHashCodeprivate java.lang.Comparable[]dataprivate inthashcodeValueprivate DoubleOrderedMap.Node[]leftNodeprivate DoubleOrderedMap.Node[]parentNodeprivate DoubleOrderedMap.Node[]rightNode
-
Constructor Summary
Constructors Constructor Description Node(java.lang.Comparable key, java.lang.Comparable value)Make a new cell with given key and value, and with null links, and black (true) colors.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcopyColor(DoubleOrderedMap.Node node, int index)make this node the same color as anotherbooleanequals(java.lang.Object o)Compares the specified object with this entry for equality.private java.lang.ComparablegetData(int index)get the specified datajava.lang.ObjectgetKey()Gets the key from the pair.private DoubleOrderedMap.NodegetLeft(int index)get the left nodeprivate DoubleOrderedMap.NodegetParent(int index)get the parent nodeprivate DoubleOrderedMap.NodegetRight(int index)get the right nodejava.lang.ObjectgetValue()Gets the value from the pair.inthashCode()private booleanisBlack(int index)is this node black?private booleanisRed(int index)is this node red?private voidsetBlack(int index)make this node blackprivate voidsetLeft(DoubleOrderedMap.Node node, int index)Set this node's left nodeprivate voidsetParent(DoubleOrderedMap.Node node, int index)Set this node's parent nodeprivate voidsetRed(int index)make this node redprivate voidsetRight(DoubleOrderedMap.Node node, int index)Set this node's right nodejava.lang.ObjectsetValue(java.lang.Object ignored)Optional operation that is not permitted in this implementationprivate voidswapColors(DoubleOrderedMap.Node node, int index)exchange colors with another node
-
-
-
Field Detail
-
data
private java.lang.Comparable[] data
-
leftNode
private DoubleOrderedMap.Node[] leftNode
-
rightNode
private DoubleOrderedMap.Node[] rightNode
-
parentNode
private DoubleOrderedMap.Node[] parentNode
-
blackColor
private boolean[] blackColor
-
hashcodeValue
private int hashcodeValue
-
calculatedHashCode
private boolean calculatedHashCode
-
-
Method Detail
-
getData
private java.lang.Comparable getData(int index)
get the specified data- Parameters:
index- KEY or VALUE- Returns:
- the key or value
-
setLeft
private void setLeft(DoubleOrderedMap.Node node, int index)
Set this node's left node- Parameters:
node- the new left nodeindex- KEY or VALUE
-
getLeft
private DoubleOrderedMap.Node getLeft(int index)
get the left node- Parameters:
index- KEY or VALUE- Returns:
- the left node -- may be null
-
setRight
private void setRight(DoubleOrderedMap.Node node, int index)
Set this node's right node- Parameters:
node- the new right nodeindex- KEY or VALUE
-
getRight
private DoubleOrderedMap.Node getRight(int index)
get the right node- Parameters:
index- KEY or VALUE- Returns:
- the right node -- may be null
-
setParent
private void setParent(DoubleOrderedMap.Node node, int index)
Set this node's parent node- Parameters:
node- the new parent nodeindex- KEY or VALUE
-
getParent
private DoubleOrderedMap.Node getParent(int index)
get the parent node- Parameters:
index- KEY or VALUE- Returns:
- the parent node -- may be null
-
swapColors
private void swapColors(DoubleOrderedMap.Node node, int index)
exchange colors with another node- Parameters:
node- the node to swap withindex- KEY or VALUE
-
isBlack
private boolean isBlack(int index)
is this node black?- Parameters:
index- KEY or VALUE- Returns:
- true if black (which is represented as a true boolean)
-
isRed
private boolean isRed(int index)
is this node red?- Parameters:
index- KEY or VALUE- Returns:
- true if non-black
-
setBlack
private void setBlack(int index)
make this node black- Parameters:
index- KEY or VALUE
-
setRed
private void setRed(int index)
make this node red- Parameters:
index- KEY or VALUE
-
copyColor
private void copyColor(DoubleOrderedMap.Node node, int index)
make this node the same color as another- Parameters:
node- the node whose color we're adoptingindex- KEY or VALUE
-
getKey
public java.lang.Object getKey()
Description copied from interface:KeyValueGets the key from the pair.
-
getValue
public java.lang.Object getValue()
Description copied from interface:KeyValueGets the value from the pair.
-
setValue
public java.lang.Object setValue(java.lang.Object ignored) throws java.lang.UnsupportedOperationExceptionOptional operation that is not permitted in this implementation- Specified by:
setValuein interfacejava.util.Map.Entry- Parameters:
ignored-- Returns:
- does not return
- Throws:
java.lang.UnsupportedOperationException
-
equals
public boolean equals(java.lang.Object o)
Compares the specified object with this entry for equality. Returns true if the given object is also a map entry and the two entries represent the same mapping.- Specified by:
equalsin interfacejava.util.Map.Entry- Overrides:
equalsin classjava.lang.Object- Parameters:
o- object to be compared for equality with this map entry.- Returns:
- true if the specified object is equal to this map entry.
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map.Entry- Overrides:
hashCodein classjava.lang.Object- Returns:
- the hash code value for this map entry.
-
-