Class Overview
LinkedHashMap is an implementation of Map
that guarantees iteration order. All optional operations are supported.
All elements are permitted as keys or values, including null.
Entries are kept in a doubly-linked list. The iteration order is, by default, the order in which keys were inserted. Reinserting an already-present key doesn't change the order. If the three argument constructor is used, and accessOrder
is specified as true
, the iteration will be in the order that entries were accessed. The access order is affected by put
, get
, and putAll
operations, but not by operations on the collection views.
Note: the implementation of LinkedHashMap
is not synchronized. If one thread of several threads accessing an instance modifies the map structurally, access to the map needs to be synchronized. For insertion-ordered instances a structural modification is an operation that removes or adds an entry. Access-ordered instances also are structurally modified by put
, get
, and putAll
since these methods change the order of the entries. Changes in the value of an entry are not structural changes.
The Iterator
created by calling the iterator
method may throw a ConcurrentModificationException
if the map is structurally changed while an iterator is used to iterate over the elements. Only the remove
method that is provided by the iterator allows for removal of elements during iteration. It is not possible to guarantee that this mechanism works in all cases of unsynchronized concurrent modification. It should only be used for debugging purposes.
Summary
Public Constructors |
|
LinkedHashMap()
Constructs a new empty
LinkedHashMap instance.
|
|
LinkedHashMap(int initialCapacity)
Constructs a new
LinkedHashMap instance with the specified capacity.
|
|
LinkedHashMap(int initialCapacity, float loadFactor)
Constructs a new
LinkedHashMap instance with the specified capacity and load factor.
|
|
LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
Constructs a new
LinkedHashMap instance with the specified capacity, load factor and a flag specifying the ordering behavior.
|
|
LinkedHashMap(
Map<? extends K, ? extends V> map)
Constructs a new
LinkedHashMap instance containing the mappings from the specified map.
|
Public Methods |
void
|
clear()
Removes all mappings from this hash map, leaving it empty.
|
boolean
|
containsValue(
Object value)
This override is done for LinkedHashMap performance: iteration is cheaper via LinkedHashMap nxt links.
|
V
|
get(
Object key)
Returns the value of the mapping with the specified key.
|
[Expand]
Inherited Methods
|
From class java.util.HashMap
void
|
clear()
Removes all mappings from this hash map, leaving it empty.
|
Object
|
clone()
Returns a shallow copy of this map.
|
boolean
|
containsKey(
Object key)
Returns whether this map contains the specified key.
|
boolean
|
containsValue(
Object value)
Returns whether this map contains the specified value.
|
Set<
Entry<K, V>>
|
entrySet()
Returns a set containing all of the mappings in this map.
|
V
|
get(
Object key)
Returns the value of the mapping with the specified key.
|
boolean
|
isEmpty()
Returns whether this map is empty.
|
Set<K>
|
keySet()
Returns a set of the keys contained in this map.
|
V
|
put(K key, V value)
Maps the specified key to the specified value.
|
void
|
putAll(
Map<? extends K, ? extends V> map)
Copies all the mappings in the specified map to this map.
|
V
|
remove(
Object key)
Removes the mapping with the specified key from this map.
|
int
|
size()
Returns the number of elements in this map.
|
Collection<V>
|
values()
Returns a collection of the values contained in this map.
|
|
From class java.util.AbstractMap
void
|
clear()
Removes all elements from this
Map , leaving it empty.
This implementation calls entrySet().clear() .
|
Object
|
clone()
Creates and returns a copy of this
Object .
|
boolean
|
containsKey(
Object key)
Returns whether this
Map contains the specified key.
This implementation iterates its key set, looking for a key that key equals.
|
boolean
|
containsValue(
Object value)
Returns whether this
Map contains the specified value.
This implementation iterates its entry set, looking for an entry with a value that value equals.
|
abstract
Set<
Entry<K, V>>
|
entrySet()
Returns a
Set containing all of the mappings in this
Map .
|
boolean
|
equals(
Object object)
Compares this instance with the specified object and indicates if they are equal.
This implementation first checks the structure of object .
|
V
|
get(
Object key)
Returns the value of the mapping with the specified key.
This implementation iterates its entry set, looking for an entry with a key that key equals.
|
int
|
hashCode()
Returns an integer hash code for this object.
This implementation iterates its entry set, summing the hashcodes of its entries.
|
boolean
|
isEmpty()
Returns whether this map is empty.
This implementation compares size() to 0.
|
Set<K>
|
keySet()
Returns a set of the keys contained in this
Map .
This implementation returns a view that calls through this to map.
|
V
|
put(K key, V value)
Maps the specified key to the specified value.
This base implementation throws UnsupportedOperationException .
|
void
|
putAll(
Map<? extends K, ? extends V> map)
Copies every mapping in the specified
Map to this
Map .
This implementation iterates through map 's entry set, calling put() for each.
|
V
|
remove(
Object key)
Removes a mapping with the specified key from this
Map .
This implementation iterates its entry set, removing the entry with a key that key equals.
|
int
|
size()
Returns the number of mappings in this
Map .
This implementation returns its entry set's size.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this object.
This implementation composes a string by iterating its entry set.
|
Collection<V>
|
values()
Returns a
Collection of the values contained in this
Map .
This implementation returns a view that calls through this to map.
|
|
From class java.lang.Object
Object
|
clone()
Creates and returns a copy of this
Object .
|
boolean
|
equals(
Object o)
Compares this instance with the specified object and indicates if they are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of
Class that represents this object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of calling one of the
wait() methods) to be woken up.
|
final void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means of calling one of the
wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this object.
|
final void
|
wait()
Causes the calling thread to wait until another thread calls the
notify() or
notifyAll() method of this object.
|
final void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the
notify() or
notifyAll() method of this object or until the specified timeout expires.
|
final void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the
notify() or
notifyAll() method of this object or until the specified timeout expires.
|
|
From interface java.util.Map
abstract void
|
clear()
Removes all elements from this
Map , leaving it empty.
|
abstract boolean
|
containsKey(
Object key)
Returns whether this
Map contains the specified key.
|
abstract boolean
|
containsValue(
Object value)
Returns whether this
Map contains the specified value.
|
abstract
Set<
Entry<K, V>>
|
entrySet()
Returns a
Set containing all of the mappings in this
Map .
|
abstract boolean
|
equals(
Object object)
Compares the argument to the receiver, and returns
true if the specified object is a
Map and both
Map s contain the same mappings.
|
abstract V
|
get(
Object key)
Returns the value of the mapping with the specified key.
|
abstract int
|
hashCode()
Returns an integer hash code for the receiver.
|
abstract boolean
|
isEmpty()
Returns whether this map is empty.
|
abstract
Set<K>
|
keySet()
Returns a set of the keys contained in this
Map .
|
abstract V
|
put(K key, V value)
Maps the specified key to the specified value.
|
abstract void
|
putAll(
Map<? extends K, ? extends V> map)
Copies every mapping in the specified
Map to this
Map .
|
abstract V
|
remove(
Object key)
Removes a mapping with the specified key from this
Map .
|
abstract int
|
size()
Returns the number of mappings in this
Map .
|
abstract
Collection<V>
|
values()
Returns a
Collection of the values contained in this
Map .
|
|
Public Constructors
public LinkedHashMap ()
Constructs a new empty LinkedHashMap
instance.
public LinkedHashMap (int initialCapacity)
Constructs a new LinkedHashMap
instance with the specified capacity.
Parameters
initialCapacity |
the initial capacity of this map. |
public LinkedHashMap (int initialCapacity, float loadFactor)
Constructs a new LinkedHashMap
instance with the specified capacity and load factor.
Parameters
initialCapacity |
the initial capacity of this map. |
loadFactor |
the initial load factor. |
public LinkedHashMap (int initialCapacity, float loadFactor, boolean accessOrder)
Constructs a new LinkedHashMap
instance with the specified capacity, load factor and a flag specifying the ordering behavior.
Parameters
initialCapacity |
the initial capacity of this hash map. |
loadFactor |
the initial load factor. |
accessOrder |
true if the ordering should be done based on the last access (from least-recently accessed to most-recently accessed), and false if the ordering should be the order in which the entries were inserted. |
public LinkedHashMap (Map<? extends K, ? extends V> map)
Constructs a new LinkedHashMap
instance containing the mappings from the specified map. The order of the elements is preserved.
Public Methods
public void clear ()
Removes all mappings from this hash map, leaving it empty.
public boolean containsValue (Object value)
This override is done for LinkedHashMap performance: iteration is cheaper via LinkedHashMap nxt links.
Parameters
value |
the value to search for. |
Returns
true
if this map contains the specified value, false
otherwise.
public V get (Object key)
Returns the value of the mapping with the specified key.
Returns
- the value of the mapping with the specified key, or
null
if no mapping for the specified key is found.
Protected Methods
protected boolean removeEldestEntry (Entry<K, V> eldest)