Class ListOrderedMap
- java.lang.Object
-
- org.apache.commons.collections.map.AbstractMapDecorator
-
- org.apache.commons.collections.map.ListOrderedMap
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map
,IterableMap
,OrderedMap
@Deprecated(since="2021-04-30") public class ListOrderedMap extends AbstractMapDecorator implements OrderedMap, java.io.Serializable
Deprecated.Commons Collections 3 is in maintenance mode. Commons Collections 4 should be used instead.Decorates aMap
to ensure that the order of addition is retained using aList
to maintain order.The order will be used via the iterators and toArray methods on the views. The order is also returned by the
MapIterator
. TheorderedMapIterator()
method accesses an iterator that can iterate both forwards and backwards through the map. In addition, non-interface methods are provided to access the map by index.If an object is added to the Map for a second time, it will remain in the original position in the iteration.
Note that ListOrderedMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using
Collections.synchronizedMap(Map)
. This class may throw exceptions when accessed by concurrent threads without synchronization.This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ListOrderedMap()
Deprecated.Constructs a new emptyListOrderedMap
that decorates aHashMap
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.util.List
asList()
Deprecated.Gets an unmodifiable List view of the keys which changes as the map changes.void
clear()
Deprecated.static OrderedMap
decorate(java.util.Map map)
Deprecated.Factory method to create an ordered map.java.util.Set
entrySet()
Deprecated.Gets a view over the entries in the map.java.lang.Object
firstKey()
Deprecated.Gets the first key in this map by insert order.java.lang.Object
get(int index)
Deprecated.Gets the key at the specified index.java.lang.Object
getValue(int index)
Deprecated.Gets the value at the specified index.int
indexOf(java.lang.Object key)
Deprecated.Gets the index of the specified key.java.util.List
keyList()
Deprecated.Gets a view over the keys in the map as a List.java.util.Set
keySet()
Deprecated.Gets a view over the keys in the map.java.lang.Object
lastKey()
Deprecated.Gets the last key in this map by insert order.MapIterator
mapIterator()
Deprecated.Obtains aMapIterator
over the map.java.lang.Object
nextKey(java.lang.Object key)
Deprecated.Gets the next key to the one specified using insert order.OrderedMapIterator
orderedMapIterator()
Deprecated.Obtains anOrderedMapIterator
over the map.java.lang.Object
previousKey(java.lang.Object key)
Deprecated.Gets the previous key to the one specified using insert order.java.lang.Object
put(int index, java.lang.Object key, java.lang.Object value)
Deprecated.Puts a key-value mapping into the map at the specified index.java.lang.Object
put(java.lang.Object key, java.lang.Object value)
Deprecated.void
putAll(java.util.Map map)
Deprecated.java.lang.Object
remove(int index)
Deprecated.Removes the element at the specified index.java.lang.Object
remove(java.lang.Object key)
Deprecated.java.lang.Object
setValue(int index, java.lang.Object value)
Deprecated.Sets the value at the specified index.java.lang.String
toString()
Deprecated.Returns the Map as a string.java.util.List
valueList()
Deprecated.Gets a view over the values in the map as a List.java.util.Collection
values()
Deprecated.Gets a view over the values in the map.-
Methods inherited from class org.apache.commons.collections.map.AbstractMapDecorator
containsKey, containsValue, equals, get, hashCode, isEmpty, size
-
-
-
-
Method Detail
-
decorate
public static OrderedMap decorate(java.util.Map map)
Deprecated.Factory method to create an ordered map.An
ArrayList
is used to retain order.- Parameters:
map
- the map to decorate, must not be null- Throws:
java.lang.IllegalArgumentException
- if map is null
-
mapIterator
public MapIterator mapIterator()
Deprecated.Description copied from interface:IterableMap
Obtains aMapIterator
over the map.A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or cast to Map Entry objects.
IterableMap map = new HashedMap(); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue("newValue"); }
- Specified by:
mapIterator
in interfaceIterableMap
- Returns:
- a map iterator
-
orderedMapIterator
public OrderedMapIterator orderedMapIterator()
Deprecated.Description copied from interface:OrderedMap
Obtains anOrderedMapIterator
over the map.A ordered map iterator is an efficient way of iterating over maps in both directions.
BidiMap map = new TreeBidiMap(); MapIterator it = map.mapIterator(); while (it.hasNext()) { Object key = it.next(); Object value = it.getValue(); it.setValue("newValue"); Object previousKey = it.previous(); }
- Specified by:
orderedMapIterator
in interfaceOrderedMap
- Returns:
- a map iterator
-
firstKey
public java.lang.Object firstKey()
Deprecated.Gets the first key in this map by insert order.- Specified by:
firstKey
in interfaceOrderedMap
- Returns:
- the first key currently in this map
- Throws:
java.util.NoSuchElementException
- if this map is empty
-
lastKey
public java.lang.Object lastKey()
Deprecated.Gets the last key in this map by insert order.- Specified by:
lastKey
in interfaceOrderedMap
- Returns:
- the last key currently in this map
- Throws:
java.util.NoSuchElementException
- if this map is empty
-
nextKey
public java.lang.Object nextKey(java.lang.Object key)
Deprecated.Gets the next key to the one specified using insert order. This method performs a list search to find the key and is O(n).- Specified by:
nextKey
in interfaceOrderedMap
- Parameters:
key
- the key to find previous for- Returns:
- the next key, null if no match or at start
-
previousKey
public java.lang.Object previousKey(java.lang.Object key)
Deprecated.Gets the previous key to the one specified using insert order. This method performs a list search to find the key and is O(n).- Specified by:
previousKey
in interfaceOrderedMap
- Parameters:
key
- the key to find previous for- Returns:
- the previous key, null if no match or at start
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
Deprecated.- Specified by:
put
in interfacejava.util.Map
- Overrides:
put
in classAbstractMapDecorator
-
putAll
public void putAll(java.util.Map map)
Deprecated.- Specified by:
putAll
in interfacejava.util.Map
- Overrides:
putAll
in classAbstractMapDecorator
-
remove
public java.lang.Object remove(java.lang.Object key)
Deprecated.- Specified by:
remove
in interfacejava.util.Map
- Overrides:
remove
in classAbstractMapDecorator
-
clear
public void clear()
Deprecated.- Specified by:
clear
in interfacejava.util.Map
- Overrides:
clear
in classAbstractMapDecorator
-
keySet
public java.util.Set keySet()
Deprecated.Gets a view over the keys in the map.The Collection will be ordered by object insertion into the map.
- Specified by:
keySet
in interfacejava.util.Map
- Overrides:
keySet
in classAbstractMapDecorator
- Returns:
- the fully modifiable collection view over the keys
- See Also:
keyList()
-
keyList
public java.util.List keyList()
Deprecated.Gets a view over the keys in the map as a List.The List will be ordered by object insertion into the map. The List is unmodifiable.
- Returns:
- the unmodifiable list view over the keys
- Since:
- Commons Collections 3.2
- See Also:
keySet()
-
values
public java.util.Collection values()
Deprecated.Gets a view over the values in the map.The Collection will be ordered by object insertion into the map.
From Commons Collections 3.2, this Collection can be cast to a list, see
valueList()
- Specified by:
values
in interfacejava.util.Map
- Overrides:
values
in classAbstractMapDecorator
- Returns:
- the fully modifiable collection view over the values
- See Also:
valueList()
-
valueList
public java.util.List valueList()
Deprecated.Gets a view over the values in the map as a List.The List will be ordered by object insertion into the map. The List supports remove and set, but does not support add.
- Returns:
- the partially modifiable list view over the values
- Since:
- Commons Collections 3.2
- See Also:
values()
-
entrySet
public java.util.Set entrySet()
Deprecated.Gets a view over the entries in the map.The Set will be ordered by object insertion into the map.
- Specified by:
entrySet
in interfacejava.util.Map
- Overrides:
entrySet
in classAbstractMapDecorator
- Returns:
- the fully modifiable set view over the entries
-
toString
public java.lang.String toString()
Deprecated.Returns the Map as a string.- Overrides:
toString
in classAbstractMapDecorator
- Returns:
- the Map as a String
-
get
public java.lang.Object get(int index)
Deprecated.Gets the key at the specified index.- Parameters:
index
- the index to retrieve- Returns:
- the key at the specified index
- Throws:
java.lang.IndexOutOfBoundsException
- if the index is invalid
-
getValue
public java.lang.Object getValue(int index)
Deprecated.Gets the value at the specified index.- Parameters:
index
- the index to retrieve- Returns:
- the key at the specified index
- Throws:
java.lang.IndexOutOfBoundsException
- if the index is invalid
-
indexOf
public int indexOf(java.lang.Object key)
Deprecated.Gets the index of the specified key.- Parameters:
key
- the key to find the index of- Returns:
- the index, or -1 if not found
-
setValue
public java.lang.Object setValue(int index, java.lang.Object value)
Deprecated.Sets the value at the specified index.- Parameters:
index
- the index of the value to set- Returns:
- the previous value at that index
- Throws:
java.lang.IndexOutOfBoundsException
- if the index is invalid- Since:
- Commons Collections 3.2
-
put
public java.lang.Object put(int index, java.lang.Object key, java.lang.Object value)
Deprecated.Puts a key-value mapping into the map at the specified index.If the map already contains the key, then the original mapping is removed and the new mapping added at the specified index. The remove may change the effect of the index. The index is always calculated relative to the original state of the map.
Thus the steps are: (1) remove the existing key-value mapping, then (2) insert the new key-value mapping at the position it would have been inserted had the remove not ocurred.
- Parameters:
index
- the index at which the mapping should be insertedkey
- the keyvalue
- the value- Returns:
- the value previously mapped to the key
- Throws:
java.lang.IndexOutOfBoundsException
- if the index is out of range- Since:
- Commons Collections 3.2
-
remove
public java.lang.Object remove(int index)
Deprecated.Removes the element at the specified index.- Parameters:
index
- the index of the object to remove- Returns:
- the removed value, or
null
if none existed - Throws:
java.lang.IndexOutOfBoundsException
- if the index is invalid
-
asList
public java.util.List asList()
Deprecated.Gets an unmodifiable List view of the keys which changes as the map changes.The returned list is unmodifiable because changes to the values of the list (using
ListIterator.set(Object)
) will effectively remove the value from the list and reinsert that value at the end of the list, which is an unexpected side effect of changing the value of a list. This occurs because changing the key, changes when the mapping is added to the map and thus where it appears in the list.An alternative to this method is to use the better named
keyList()
orkeySet()
.
-
-