Name
LinkedHashMap<K,V>
Synopsis
This class is a Map
implementation based on a hashtable, just like its superclass
HashMap
. It defines no new public methods, and can
be used exactly as HashMap
is used. What is unique
about this Map
is that in addition to the
hashtable data structure, it also uses a doubly-linked list to
connect the keys of the Map
into an internal list
which defines a predictable iteration order.
You can iterate through the keys or values of a
LinkedHashMap
by calling entrySet(
)
, keySet( )
, or values(
)
and then obtaining an Iterator
for the
returned collection, just as you would for a
HashMap
. When you do this, however, the keys
and/or values are returned in a well-defined order rather than the
essentially random order provided by a HashMap
.
The default ordering for LinkedHashMap
is the
insertion order of the key: the first key inserted into the
Map
is enumerated first (as is the value
associated with it), and the last entry inserted is enumerated last.
Note that this order is not affect by re-insertions. That is, if a
LinkedHashMap
contains a mapping from a key
k
to a value
v1
, and you call the put(
)
method to map from k
to a new
value v2
, this does not change the
insertion order, or the iteration order of the key
k
. The iteration order of a value in the
map is the iteration order of the key with which it is associated.
Insertion order is the default iteration order for this class, but if
you instantiate a LinkedHashMap
with the three-argument constructor, and pass ...
Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.