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[]
blackColor
private boolean
calculatedHashCode
private java.lang.Comparable[]
data
private int
hashcodeValue
private DoubleOrderedMap.Node[]
leftNode
private DoubleOrderedMap.Node[]
parentNode
private 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 void
copyColor(DoubleOrderedMap.Node node, int index)
make this node the same color as anotherboolean
equals(java.lang.Object o)
Compares the specified object with this entry for equality.private java.lang.Comparable
getData(int index)
get the specified datajava.lang.Object
getKey()
Gets the key from the pair.private DoubleOrderedMap.Node
getLeft(int index)
get the left nodeprivate DoubleOrderedMap.Node
getParent(int index)
get the parent nodeprivate DoubleOrderedMap.Node
getRight(int index)
get the right nodejava.lang.Object
getValue()
Gets the value from the pair.int
hashCode()
private boolean
isBlack(int index)
is this node black?private boolean
isRed(int index)
is this node red?private void
setBlack(int index)
make this node blackprivate void
setLeft(DoubleOrderedMap.Node node, int index)
Set this node's left nodeprivate void
setParent(DoubleOrderedMap.Node node, int index)
Set this node's parent nodeprivate void
setRed(int index)
make this node redprivate void
setRight(DoubleOrderedMap.Node node, int index)
Set this node's right nodejava.lang.Object
setValue(java.lang.Object ignored)
Optional operation that is not permitted in this implementationprivate void
swapColors(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:KeyValue
Gets the key from the pair.
-
getValue
public java.lang.Object getValue()
Description copied from interface:KeyValue
Gets the value from the pair.
-
setValue
public java.lang.Object setValue(java.lang.Object ignored) throws java.lang.UnsupportedOperationException
Optional operation that is not permitted in this implementation- Specified by:
setValue
in 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:
equals
in interfacejava.util.Map.Entry
- Overrides:
equals
in 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:
hashCode
in interfacejava.util.Map.Entry
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- the hash code value for this map entry.
-
-