Class TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>
- java.lang.Object
-
- org.apache.commons.collections4.bidimap.TreeBidiMap.Node<K,V>
-
- All Implemented Interfaces:
java.util.Map.Entry<K,V>,KeyValue<K,V>
- Enclosing class:
- TreeBidiMap<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>
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>
A node used to store the data.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean[]blackColorprivate booleancalculatedHashCodeprivate inthashcodeValueprivate Kkeyprivate TreeBidiMap.Node<K,V>[]leftNodeprivate TreeBidiMap.Node<K,V>[]parentNodeprivate TreeBidiMap.Node<K,V>[]rightNodeprivate Vvalue
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcopyColor(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)Make this node the same color as anotherbooleanequals(java.lang.Object obj)Compares the specified object with this entry for equality.private java.lang.ObjectgetData(TreeBidiMap.DataElement dataElement)KgetKey()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)VgetValue()Gets the value.inthashCode()private booleanisBlack(TreeBidiMap.DataElement dataElement)Is this node black?private booleanisLeftChild(TreeBidiMap.DataElement dataElement)private booleanisRed(TreeBidiMap.DataElement dataElement)Is this node red?private booleanisRightChild(TreeBidiMap.DataElement dataElement)private voidsetBlack(TreeBidiMap.DataElement dataElement)Make this node black.private voidsetLeft(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)private voidsetParent(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)Set this node's parent node.private voidsetRed(TreeBidiMap.DataElement dataElement)Make this node red.private voidsetRight(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)VsetValue(V ignored)Optional operation that is not permitted in this implementationprivate voidswapColors(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)Exchange colors with another node.
-
-
-
Field Detail
-
leftNode
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] leftNode
-
rightNode
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] rightNode
-
parentNode
private final TreeBidiMap.Node<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>[] parentNode
-
blackColor
private final boolean[] blackColor
-
hashcodeValue
private int hashcodeValue
-
calculatedHashCode
private boolean calculatedHashCode
-
-
Method Detail
-
getData
private java.lang.Object getData(TreeBidiMap.DataElement dataElement)
-
setLeft
private void setLeft(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
-
getLeft
private TreeBidiMap.Node<K,V> getLeft(TreeBidiMap.DataElement dataElement)
-
setRight
private void setRight(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
-
getRight
private TreeBidiMap.Node<K,V> getRight(TreeBidiMap.DataElement dataElement)
-
setParent
private void setParent(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
Set this node's parent node.- Parameters:
node- the new parent nodedataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.
-
getParent
private TreeBidiMap.Node<K,V> getParent(TreeBidiMap.DataElement dataElement)
Get the parent node.- Parameters:
dataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.- Returns:
- the parent node, may be null
-
swapColors
private void swapColors(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
Exchange colors with another node.- Parameters:
node- the node to swap withdataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.
-
isBlack
private boolean isBlack(TreeBidiMap.DataElement dataElement)
Is this node black?- Parameters:
dataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.- Returns:
- true if black (which is represented as a true boolean)
-
isRed
private boolean isRed(TreeBidiMap.DataElement dataElement)
Is this node red?- Parameters:
dataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.- Returns:
- true if non-black
-
setBlack
private void setBlack(TreeBidiMap.DataElement dataElement)
Make this node black.- Parameters:
dataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.
-
setRed
private void setRed(TreeBidiMap.DataElement dataElement)
Make this node red.- Parameters:
dataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.
-
copyColor
private void copyColor(TreeBidiMap.Node<K,V> node, TreeBidiMap.DataElement dataElement)
Make this node the same color as another- Parameters:
node- the node whose color we're adoptingdataElement- eitherTreeBidiMap.DataElement.KEYkey} or thevalue.
-
isLeftChild
private boolean isLeftChild(TreeBidiMap.DataElement dataElement)
-
isRightChild
private boolean isRightChild(TreeBidiMap.DataElement dataElement)
-
getKey
public K getKey()
Gets the key.
-
getValue
public V getValue()
Gets the value.
-
setValue
public V setValue(V ignored) throws java.lang.UnsupportedOperationException
Optional operation that is not permitted in this implementation
-
equals
public boolean equals(java.lang.Object obj)
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<K extends java.lang.Comparable<K>,V extends java.lang.Comparable<V>>- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- the object to be compared for equality with this entry.- Returns:
- true if the specified object is equal to this entry.
-
-