|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.collections4.bidimap.AbstractDualBidiMap<K,V>
org.apache.commons.collections4.bidimap.DualTreeBidiMap<K,V>
public class DualTreeBidiMap<K,V>
Implementation of BidiMap
that uses two TreeMap
instances.
The setValue() method on iterators will succeed only if the new value being set is not already in the bidimap.
When considering whether to use this class, the TreeBidiMap
class should
also be considered. It implements the interface using a dedicated design, and does
not store each object twice, which can save on memory use.
NOTE: From Commons Collections 3.1, all subclasses will use TreeMap
and the flawed createMap
method is ignored.
Nested Class Summary | |
---|---|
protected static class |
DualTreeBidiMap.BidiOrderedMapIterator<K,V>
Inner class MapIterator. |
protected static class |
DualTreeBidiMap.ViewMap<K,V>
Internal sorted map view. |
Nested classes/interfaces inherited from class org.apache.commons.collections4.bidimap.AbstractDualBidiMap |
---|
AbstractDualBidiMap.BidiMapIterator<K,V>, AbstractDualBidiMap.EntrySet<K,V>, AbstractDualBidiMap.EntrySetIterator<K,V>, AbstractDualBidiMap.KeySet<K>, AbstractDualBidiMap.KeySetIterator<K>, AbstractDualBidiMap.MapEntry<K,V>, AbstractDualBidiMap.Values<V>, AbstractDualBidiMap.ValuesIterator<V>, AbstractDualBidiMap.View<K,V,E> |
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Constructor Summary | |
---|---|
|
DualTreeBidiMap()
Creates an empty DualTreeBidiMap |
|
DualTreeBidiMap(Comparator<? super K> keyComparator,
Comparator<? super V> valueComparator)
Constructs a DualTreeBidiMap using the specified Comparator . |
|
DualTreeBidiMap(Map<K,V> map)
Constructs a DualTreeBidiMap and copies the mappings from
specified Map . |
protected |
DualTreeBidiMap(Map<K,V> normalMap,
Map<V,K> reverseMap,
BidiMap<V,K> inverseBidiMap)
Constructs a DualTreeBidiMap that decorates the specified maps. |
Method Summary | |
---|---|
Comparator<? super K> |
comparator()
|
protected DualTreeBidiMap<V,K> |
createBidiMap(Map<V,K> normalMap,
Map<K,V> reverseMap,
BidiMap<K,V> inverseMap)
Creates a new instance of this object. |
K |
firstKey()
Gets the first key currently in this map. |
SortedMap<K,V> |
headMap(K toKey)
|
SortedBidiMap<V,K> |
inverseBidiMap()
Gets a view of this map where the keys and values are reversed. |
OrderedBidiMap<V,K> |
inverseOrderedBidiMap()
|
SortedBidiMap<V,K> |
inverseSortedBidiMap()
|
K |
lastKey()
Gets the last key currently in this map. |
OrderedMapIterator<K,V> |
mapIterator()
Obtains an ordered map iterator. |
K |
nextKey(K key)
Gets the next key after the one specified. |
K |
previousKey(K key)
Gets the previous key before the one specified. |
SortedMap<K,V> |
subMap(K fromKey,
K toKey)
|
SortedMap<K,V> |
tailMap(K fromKey)
|
Comparator<? super V> |
valueComparator()
Get the comparator used for the values in the value-to-key map aspect. |
Methods inherited from class org.apache.commons.collections4.bidimap.AbstractDualBidiMap |
---|
clear, containsKey, containsValue, createEntrySetIterator, createKeySetIterator, createValuesIterator, entrySet, equals, get, getKey, hashCode, isEmpty, keySet, put, putAll, remove, removeValue, size, toString, values |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.commons.collections4.BidiMap |
---|
getKey, put, removeValue |
Methods inherited from interface java.util.Map |
---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, putAll, remove, size, values |
Methods inherited from interface org.apache.commons.collections4.Put |
---|
clear, putAll |
Methods inherited from interface org.apache.commons.collections4.Get |
---|
containsKey, containsValue, entrySet, get, isEmpty, keySet, remove, size, values |
Methods inherited from interface java.util.Map |
---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, putAll, remove, size, values |
Methods inherited from interface org.apache.commons.collections4.Put |
---|
clear, putAll |
Methods inherited from interface org.apache.commons.collections4.Get |
---|
containsKey, containsValue, entrySet, get, isEmpty, keySet, remove, size, values |
Constructor Detail |
---|
public DualTreeBidiMap()
DualTreeBidiMap
public DualTreeBidiMap(Map<K,V> map)
DualTreeBidiMap
and copies the mappings from
specified Map
.
map
- the map whose mappings are to be placed in this mappublic DualTreeBidiMap(Comparator<? super K> keyComparator, Comparator<? super V> valueComparator)
DualTreeBidiMap
using the specified Comparator
.
keyComparator
- the comparatorvalueComparator
- the values comparator to useprotected DualTreeBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)
DualTreeBidiMap
that decorates the specified maps.
normalMap
- the normal direction mapreverseMap
- the reverse direction mapinverseBidiMap
- the inverse BidiMapMethod Detail |
---|
protected DualTreeBidiMap<V,K> createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseMap)
createBidiMap
in class AbstractDualBidiMap<K,V>
normalMap
- the normal direction mapreverseMap
- the reverse direction mapinverseMap
- the inverse BidiMap
public Comparator<? super K> comparator()
comparator
in interface SortedMap<K,V>
public Comparator<? super V> valueComparator()
SortedBidiMap
valueComparator
in interface SortedBidiMap<K,V>
public K firstKey()
OrderedMap
firstKey
in interface SortedMap<K,V>
firstKey
in interface OrderedMap<K,V>
public K lastKey()
OrderedMap
lastKey
in interface SortedMap<K,V>
lastKey
in interface OrderedMap<K,V>
public K nextKey(K key)
OrderedMap
nextKey
in interface OrderedMap<K,V>
key
- the key to search for next from
public K previousKey(K key)
OrderedMap
previousKey
in interface OrderedMap<K,V>
key
- the key to search for previous from
public OrderedMapIterator<K,V> mapIterator()
This implementation copies the elements to an ArrayList in order to provide the forward/backward behaviour.
mapIterator
in interface IterableGet<K,V>
mapIterator
in interface OrderedMap<K,V>
mapIterator
in class AbstractDualBidiMap<K,V>
public SortedBidiMap<V,K> inverseSortedBidiMap()
public OrderedBidiMap<V,K> inverseOrderedBidiMap()
public SortedMap<K,V> headMap(K toKey)
headMap
in interface SortedMap<K,V>
public SortedMap<K,V> tailMap(K fromKey)
tailMap
in interface SortedMap<K,V>
public SortedMap<K,V> subMap(K fromKey, K toKey)
subMap
in interface SortedMap<K,V>
public SortedBidiMap<V,K> inverseBidiMap()
BidiMap
Changes to one map will be visible in the other and vice versa.
This enables both directions of the map to be accessed as a Map
.
Implementations should seek to avoid creating a new object every time this
method is called. See AbstractMap.values()
etc. Calling this
method on the inverse map should return the original.
inverseBidiMap
in interface BidiMap<K,V>
inverseBidiMap
in interface OrderedBidiMap<K,V>
inverseBidiMap
in interface SortedBidiMap<K,V>
inverseBidiMap
in class AbstractDualBidiMap<K,V>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |