static class TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>> extends java.lang.Object implements java.util.Map.Entry<K,V>, KeyValue<K,V>
Modifier and Type | Field and Description |
---|---|
private boolean[] |
blackColor |
private boolean |
calculatedHashCode |
private int |
hashcodeValue |
private K |
key |
private TreeBidiMap.Node<K,V>[] |
leftNode |
private TreeBidiMap.Node<K,V>[] |
parentNode |
private TreeBidiMap.Node<K,V>[] |
rightNode |
private V |
value |
Constructor and Description |
---|
Node(K key,
V value)
Make a new cell with given key and value, and with null
links, and black (true) colors.
|
Modifier and Type | Method and Description |
---|---|
private void |
copyColor(TreeBidiMap.Node<K,V> node,
TreeBidiMap.DataElement dataElement)
Make this node the same color as another
|
boolean |
equals(java.lang.Object obj)
Compares the specified object with this entry for equality.
|
private java.lang.Object |
getData(TreeBidiMap.DataElement dataElement) |
K |
getKey()
Gets the key.
|
private TreeBidiMap.Node<K,V> |
getLeft(TreeBidiMap.DataElement dataElement) |
private TreeBidiMap.Node<K,V> |
getParent(TreeBidiMap.DataElement dataElement)
Get the parent node.
|
private TreeBidiMap.Node<K,V> |
getRight(TreeBidiMap.DataElement dataElement) |
V |
getValue()
Gets the value.
|
int |
hashCode() |
private boolean |
isBlack(TreeBidiMap.DataElement dataElement)
Is this node black?
|
private boolean |
isLeftChild(TreeBidiMap.DataElement dataElement) |
private boolean |
isRed(TreeBidiMap.DataElement dataElement)
Is this node red?
|
private boolean |
isRightChild(TreeBidiMap.DataElement dataElement) |
private void |
setBlack(TreeBidiMap.DataElement dataElement)
Make this node black.
|
private void |
setLeft(TreeBidiMap.Node<K,V> node,
TreeBidiMap.DataElement dataElement) |
private void |
setParent(TreeBidiMap.Node<K,V> node,
TreeBidiMap.DataElement dataElement)
Set this node's parent node.
|
private void |
setRed(TreeBidiMap.DataElement dataElement)
Make this node red.
|
private void |
setRight(TreeBidiMap.Node<K,V> node,
TreeBidiMap.DataElement dataElement) |
V |
setValue(V ignored)
Optional operation that is not permitted in this implementation
|
private void |
swapColors(TreeBidiMap.Node<K,V> node,
TreeBidiMap.DataElement dataElement)
Exchange colors with another node.
|
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] leftNode
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] rightNode
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] parentNode
private final boolean[] blackColor
private int hashcodeValue
private boolean calculatedHashCode
private java.lang.Object getData(TreeBidiMap.DataElement dataElement)
private void setLeft(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
private TreeBidiMap.Node<K,V> getLeft(TreeBidiMap.DataElement dataElement)
private void setRight(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
private TreeBidiMap.Node<K,V> getRight(TreeBidiMap.DataElement dataElement)
private void setParent(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
node
- the new parent nodeindex
- the KEY or VALUE intprivate TreeBidiMap.Node<K,V> getParent(TreeBidiMap.DataElement dataElement)
index
- the KEY or VALUE intprivate void swapColors(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
node
- the node to swap withindex
- the KEY or VALUE intprivate boolean isBlack(TreeBidiMap.DataElement dataElement)
index
- the KEY or VALUE intprivate boolean isRed(TreeBidiMap.DataElement dataElement)
index
- the KEY or VALUE intprivate void setBlack(TreeBidiMap.DataElement dataElement)
index
- the KEY or VALUE intprivate void setRed(TreeBidiMap.DataElement dataElement)
index
- the KEY or VALUE intprivate void copyColor(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
node
- the node whose color we're adoptingindex
- the KEY or VALUE intprivate boolean isLeftChild(TreeBidiMap.DataElement dataElement)
private boolean isRightChild(TreeBidiMap.DataElement dataElement)
public K getKey()
public V getValue()
public V setValue(V ignored) throws java.lang.UnsupportedOperationException
public boolean equals(java.lang.Object obj)
equals
in interface java.util.Map.Entry<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>
equals
in class java.lang.Object
obj
- the object to be compared for equality with this entry.