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()
Called before the object's memory is reclaimed by the VM.
|
final
Class<? extends Object>
|
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)