|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.commons.collections.SequencedHashMap
A map of objects whose mapping entries are sequenced based on the order in which they were added. This data structure has fast O(1) search time, deletion time, and insertion time.
Although this map is sequenced, it cannot implement List
because of incompatible interface definitions. The remove
methods in List and Map have different return values (see: List.remove(Object)
and Map.remove(Object)
).
This class is not thread safe. When a thread safe implementation is
required, use Collections.synchronizedMap(Map)
as it is documented,
or use explicit synchronization controls.
Constructor Summary | |
SequencedHashMap()
Construct a new sequenced hash map with default initial size and load factor. |
|
SequencedHashMap(int initialSize)
Construct a new sequenced hash map with the specified initial size and default load factor. |
|
SequencedHashMap(int initialSize,
float loadFactor)
Construct a new sequenced hash map with the specified initial size and load factor. |
|
SequencedHashMap(java.util.Map m)
Construct a new sequenced hash map and add all the elements in the specified map. |
Method Summary | |
void |
clear()
Implements Map.clear() . |
java.lang.Object |
clone()
Creates a shallow copy of this object, preserving the internal structure by copying only references. |
boolean |
containsKey(java.lang.Object key)
Implements Map.containsKey(Object) . |
boolean |
containsValue(java.lang.Object value)
Implements Map.containsValue(Object) . |
java.util.Set |
entrySet()
Implements Map.entrySet() . |
boolean |
equals(java.lang.Object obj)
Implements Map.equals(Object) . |
java.lang.Object |
get(int index)
Returns the key at the specified index. |
java.lang.Object |
get(java.lang.Object o)
Implements Map.get(Object) . |
java.util.Map.Entry |
getFirst()
Return the entry for the "oldest" mapping. |
java.lang.Object |
getFirstKey()
Return the key for the "oldest" mapping. |
java.lang.Object |
getFirstValue()
Return the value for the "oldest" mapping. |
java.util.Map.Entry |
getLast()
Return the entry for the "newest" mapping. |
java.lang.Object |
getLastKey()
Return the key for the "newest" mapping. |
java.lang.Object |
getLastValue()
Return the value for the "newest" mapping. |
java.lang.Object |
getValue(int index)
Returns the value at the specified index. |
int |
hashCode()
Implements Map.hashCode() . |
int |
indexOf(java.lang.Object key)
Returns the index of the specified key. |
boolean |
isEmpty()
Implements Map.isEmpty() . |
java.util.Iterator |
iterator()
Returns a key iterator. |
java.util.Set |
keySet()
Implements Map.keySet() . |
int |
lastIndexOf(java.lang.Object key)
Returns the last index of the specified key. |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
Implements Map.put(Object, Object) . |
void |
putAll(java.util.Map t)
Adds all the mappings in the specified map to this map, replacing any mappings that already exist (as per Map.putAll(Map) ). |
void |
readExternal(java.io.ObjectInput in)
Deserializes this map from the given stream. |
java.lang.Object |
remove(int index)
Removes the element at the specified index. |
java.lang.Object |
remove(java.lang.Object key)
Implements Map.remove(Object) . |
java.util.List |
sequence()
Returns a List view of the keys rather than a set view. |
int |
size()
Implements Map.size() . |
java.lang.String |
toString()
Provides a string representation of the entries within the map. |
java.util.Collection |
values()
Implements Map.values() . |
void |
writeExternal(java.io.ObjectOutput out)
Serializes this map to the given stream. |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public SequencedHashMap()
public SequencedHashMap(int initialSize)
initialSize
- the initial size for the hash tableHashMap.HashMap(int)
public SequencedHashMap(int initialSize, float loadFactor)
initialSize
- the initial size for the hash tableloadFactor
- the load factor for the hash table.HashMap.HashMap(int,float)
public SequencedHashMap(java.util.Map m)
putAll(Map)
.
Method Detail |
public int size()
Map.size()
.
size
in interface java.util.Map
public boolean isEmpty()
Map.isEmpty()
.
isEmpty
in interface java.util.Map
public boolean containsKey(java.lang.Object key)
Map.containsKey(Object)
.
containsKey
in interface java.util.Map
public boolean containsValue(java.lang.Object value)
Map.containsValue(Object)
.
containsValue
in interface java.util.Map
public java.lang.Object get(java.lang.Object o)
Map.get(Object)
.
get
in interface java.util.Map
public java.util.Map.Entry getFirst()
entrySet().iterator().next()
, but this method provides an
optimized implementation.
null
if the
map is empty.public java.lang.Object getFirstKey()
getFirst().getKey()
, but this method provides a slightly
optimized implementation.
null
if the
map is empty.public java.lang.Object getFirstValue()
getFirst().getValue()
, but this method provides a slightly
optimized implementation.
null
if the
map is empty.public java.util.Map.Entry getLast()
Object obj = null; Iterator iter = entrySet().iterator(); while(iter.hasNext()) { obj = iter.next(); } return (Map.Entry)obj;However, the implementation of this method ensures an O(1) lookup of the last key rather than O(n).
null
if the map
is empty.public java.lang.Object getLastKey()
getLast().getKey()
, but this method provides a slightly
optimized implementation.
null
if the map is
empty.public java.lang.Object getLastValue()
getLast().getValue()
, but this method provides a slightly
optimized implementation.
null
if the map
is empty.public java.lang.Object put(java.lang.Object key, java.lang.Object value)
Map.put(Object, Object)
.
put
in interface java.util.Map
public java.lang.Object remove(java.lang.Object key)
Map.remove(Object)
.
remove
in interface java.util.Map
public void putAll(java.util.Map t)
Map.putAll(Map)
). The order
in which the entries are added is determined by the iterator returned
from Map.entrySet()
for the specified map.
putAll
in interface java.util.Map
t
- the mappings that should be added to this map.
java.lang.NullPointerException
- if t
is null
public void clear()
Map.clear()
.
clear
in interface java.util.Map
public boolean equals(java.lang.Object obj)
Map.equals(Object)
.
equals
in interface java.util.Map
equals
in class java.lang.Object
public int hashCode()
Map.hashCode()
.
hashCode
in interface java.util.Map
hashCode
in class java.lang.Object
public java.lang.String toString()
entrySet()
.iterator()
and
iterate over the entries in the map formatting them as appropriate.
toString
in class java.lang.Object
public java.util.Set keySet()
Map.keySet()
.
keySet
in interface java.util.Map
public java.util.Collection values()
Map.values()
.
values
in interface java.util.Map
public java.util.Set entrySet()
Map.entrySet()
.
entrySet
in interface java.util.Map
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone()
'd. The cloned object maintains the same sequence.
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
- if clone is not supported by a
subclass.public java.lang.Object get(int index)
java.lang.ArrayIndexOutOfBoundsException
- if the index
is
< 0
or >
the size of the map.public java.lang.Object getValue(int index)
java.lang.ArrayIndexOutOfBoundsException
- if the index
is
< 0
or >
the size of the map.public int indexOf(java.lang.Object key)
public java.util.Iterator iterator()
public int lastIndexOf(java.lang.Object key)
public java.util.List sequence()
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 keySet()
keySet()
public java.lang.Object remove(int index)
index
- The index of the object to remove.
key
, or
null
if none existed.
java.lang.ArrayIndexOutOfBoundsException
- if the index
is
< 0
or >
the size of the map.public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
in
- the stream to deserialize from
java.io.IOException
- if the stream raises it
java.lang.ClassNotFoundException
- if the stream raises itpublic void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
out
- the stream to serialize to
java.io.IOException
- if the stream raises it
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |