Class Overview
LinkedHashMap is a variant of HashMap. Its entries are kept in a
doubly-linked list. The iteration order is, by default, the order in which
keys were inserted. Reinserting an already existing key doesn't change the
order. A key is existing if a call to containsKey
would return true.
If the three argument constructor is used, and order
is specified as
true
, the iteration will be in the order that entries were accessed.
The access order gets affected by put(), get(), putAll() operations, but not
by operations on the collection views.
Null elements are allowed, and all the optional map operations are supported.
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 that can be created by calling the iterator
method
throws 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.
|
Object
|
clone()
Returns a new instance of the same class as this instance, whose slots
have been filled in with the values of the slots of this instance.
|
boolean
|
containsKey(Object key)
Returns whether this map contains the specified key.
|
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.
|
boolean
|
equals(Object object)
Compares the specified object to this instance, and returns true
if the specified object is a map and both maps contain the same mappings.
|
V
|
get(Object key)
Returns the value of the mapping with the specified key.
|
int
|
hashCode()
Returns the hash code for this object.
|
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 every mapping in the specified map to this map.
|
V
|
remove(Object key)
Removes a mapping with the specified key from this Map.
|
int
|
size()
Returns the number of elements in this map.
|
String
|
toString()
Returns the string representation of this map.
|
Collection<V>
|
values()
Returns a collection of the values contained in this 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()
Is called before the object's memory is being reclaimed by the VM.
|
final
Class<? extends Object>
|
getClass()
Returns the unique instance of Class which 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(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.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
|
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)