SequencedMap is similar to that of the elements of a SequencedCollection,
but the ordering applies to mappings instead of individual elements.
The bulk operations on this map, including the forEach and the
replaceAll methods, operate on this map's mappings in
encounter order.
The view collections provided by the
keySet,
values,
entrySet,
sequencedKeySet,
sequencedValues,
and
sequencedEntrySet methods all reflect the encounter order
of this map. Even though the return values of the keySet, values, and
entrySet methods are not sequenced types, the elements
in those view collections do reflect the encounter order of this map. Thus, the
iterators returned by the statements
var it1 = sequencedMap.entrySet().iterator();
var it2 = sequencedMap.sequencedEntrySet().iterator();
sequencedMap in that map's encounter order.
This interface provides methods to add mappings, to retrieve mappings, and to remove mappings at either end of the map's encounter order.
This interface also defines the reversed method, which provides a
reverse-ordered view of this map.
In the reverse-ordered view, the concepts of first and last are inverted, as
are the concepts of successor and predecessor. The first mapping of this map
is the last mapping of the reverse-ordered view, and vice-versa. The successor of some
mapping in this map is its predecessor in the reversed view, and vice-versa. All
methods that respect the encounter order of the map operate as if the encounter order
is inverted. For instance, the forEach method of the reversed view reports
the mappings in order from the last mapping of this map to the first. In addition, all of
the view collections of the reversed view also reflect the inverse of this map's
encounter order. For example,
var itr = sequencedMap.reversed().entrySet().iterator();
reversed method,
and its impact on the ordering semantics of all applicable methods and views, allow convenient
iteration, searching, copying, and streaming of this map's mappings in either forward order or
reverse order.
A map's reverse-ordered view is generally not serializable, even if the original map is serializable.
The Map. instances obtained by iterating the entrySet view, the
sequencedEntrySet view, and its reverse-ordered view, maintain a connection to the
underlying map. This connection is guaranteed only during the iteration. It is unspecified
whether the connection is maintained outside of the iteration. If the underlying map permits
it, calling an Entry's setValue method will modify the value of the
underlying mapping. It is, however, unspecified whether modifications to the value in the
underlying mapping are visible in the Entry instance.
The methods
firstEntry,
lastEntry,
pollFirstEntry, and
pollLastEntry
return Map. instances that represent snapshots of mappings as
of the time of the call. They do not support mutation of the
underlying map via the optional setValue method.
Depending upon the implementation, the Entry instances returned by other
means might or might not be connected to the underlying map. For example, consider
an Entry obtained in the following manner:
var entry = sequencedMap.sequencedEntrySet().getFirst();
setValue method of the
Entry thus obtained will update a mapping in the underlying map, or whether
it will throw an exception, or whether changes to the underlying map are visible in
that Entry.
This interface has the same requirements on the equals and hashCode
methods as defined by Map. and Map..
Thus, a Map and a SequencedMap will compare equals if and only
if they have equal mappings, irrespective of ordering.
This class is a member of the Java Collections Framework.
| Modifier and Type | Method and Description |
|---|---|
| public default Map. | Returns: the first key-value mapping, ornull if this map is emptyReturns the first key-value mapping in this map,
or |
| public default Map. | Returns: the last key-value mapping, ornull if this map is emptyReturns the last key-value mapping in this map,
or |
| public default Map. | Returns: the removed first entry of this map, ornull if this map is emptyRemoves and returns the first key-value mapping in this map,
or |
| public default Map. | Returns: the removed last entry of this map, ornull if this map is emptyRemoves and returns the last key-value mapping in this map,
or |
| public default V | Returns: the value previously associated with k, or null if nonethe key k, V the value v)Inserts the given mapping into the map if it is not already present, or replaces the value of a mapping if it is already present (optional operation). |
| public default V | Returns: the value previously associated with k, or null if nonethe key k, V the value v)Inserts the given mapping into the map if it is not already present, or replaces the value of a mapping if it is already present (optional operation). |
| public SequencedMap | |
| public default SequencedSet | Returns: aSequencedSet view of this map's entrySetReturns a |
| public default SequencedSet | Returns: aSequencedSet view of this map's keySetReturns a |
| public default SequencedCollection | Returns: aSequencedCollection view of this map's values collectionReturns a |
| firstEntry | back to summary |
|---|---|
| public default Map. Returns the first key-value mapping in this map,
or Implementation Specification The implementation in this interface obtains the iterator of this map's entrySet. If the iterator has an element, it returns an unmodifiable copy of that element. Otherwise, it returns null. | |
| lastEntry | back to summary |
|---|---|
| public default Map. Returns the last key-value mapping in this map,
or Implementation Specification The implementation in this interface obtains the iterator of the entrySet of this map's reversed view. If the iterator has an element, it returns an unmodifiable copy of that element. Otherwise, it returns null. | |
| pollFirstEntry | back to summary |
|---|---|
| public default Map. Removes and returns the first key-value mapping in this map,
or Implementation Specification The implementation in this interface obtains the iterator of this map's entrySet.
If the iterator has an element, it calls
| |
| pollLastEntry | back to summary |
|---|---|
| public default Map. Removes and returns the last key-value mapping in this map,
or Implementation Specification The implementation in this interface obtains the iterator of the entrySet of this map's
reversed view. If the iterator has an element, it calls
| |
| putFirst | back to summary |
|---|---|
| public default V putFirst(K k, V v) Inserts the given mapping into the map if it is not already present, or replaces the value of a mapping if it is already present (optional operation). After this operation completes normally, the given mapping will be present in this map, and it will be the first mapping in this map's encounter order. Implementation Specification The implementation in this interface always throws
| |
| putLast | back to summary |
|---|---|
| public default V putLast(K k, V v) Inserts the given mapping into the map if it is not already present, or replaces the value of a mapping if it is already present (optional operation). After this operation completes normally, the given mapping will be present in this map, and it will be the last mapping in this map's encounter order. Implementation Specification The implementation in this interface always throws
| |
| reversed | back to summary |
|---|---|
| public SequencedMap Returns a reverse-ordered view of this map. The encounter order of mappings in the returned view is the inverse of the encounter order of mappings in this map. The reverse ordering affects all order-sensitive operations, including those on the view collections of the returned view. If the implementation permits modifications to this view, the modifications "write through" to the underlying map. Changes to the underlying map might or might not be visible in this reversed view, depending upon the implementation.
| |
| sequencedEntrySet | back to summary |
|---|---|
| public default SequencedSet Returns a Implementation Specification The implementation in this interface returns a
| |
| sequencedKeySet | back to summary |
|---|---|
| public default SequencedSet Returns a Implementation Specification The implementation in this interface returns a
| |
| sequencedValues | back to summary |
|---|---|
| public default SequencedCollection Returns a Implementation Specification The implementation in this interface returns a
| |