- 型パラメータ:
K
- このマップで保持されるキーの型V
- マップされる値の型
- すべてのスーパー・インタフェース:
Map<K,
V>
- 既知のすべてのサブインタフェース:
ConcurrentNavigableMap<K,
,V> NavigableMap<K,
,V> SortedMap<K,
V>
- 既知のすべての実装クラス:
ConcurrentSkipListMap
,LinkedHashMap
,TreeMap
SequencedMap
の「見つける」は、SequencedCollection
の要素の「見つける」と似ていますが、順序付けは個々の要素ではなくマッピングに適用されます。
このマップでのバルク操作(forEach
およびreplaceAll
メソッドを含む)は、このマップのマッピングを検出順に操作します。
keySet
、values
、entrySet
、sequencedKeySet
、sequencedValues
およびsequencedEntrySet
メソッドによって提供されるビュー・コレクションは、すべてこのマップの出現順序を反映しています。 keySet
、values
およびentrySet
メソッドの戻り値はtypesの順序付けではありませんが、これらのビュー・コレクションの要素は、このマップの出現順序を反映します。 したがって、ステートメントによって返されるイテレータです
var it1 = sequencedMap.entrySet().iterator();
var it2 = sequencedMap.sequencedEntrySet().iterator();
sequencedMap
のマッピングをそのマップの出現順に指定します。
このインタフェースには、マッピングの追加、マッピングの取得、およびマップの検索順序のいずれかの端にあるマッピングの削除を行うメソッドがあります。
このインタフェースは、このマップの逆順viewを提供するreversed()
メソッドも定義します。 順序の逆のビューでは、後任者と前任者の概念と同様に、最初と最後の概念が反転します。 このマップの最初のマッピングは、順序が逆のビューの最後のマッピングです。その逆も同様です。 このマップ内の一部のマッピングの後継は、逆方向ビューの先行作業です。その逆も同様です。 マップの出現順序を尊重するすべてのメソッドは、発生順序が反転しているかのように動作します。 たとえば、逆方向ビューのforEach
メソッドは、このマップの最後のマッピングから最初のマッピングの順にマッピングをレポートします。 また、逆方向ビューのすべてのビュー・コレクションには、このマップの出現順序の逆も反映されます。 たとえば、
var itr = sequencedMap.reversed().entrySet().iterator();
reversed
メソッドの可用性と、適用可能なすべてのメソッドおよびビューの順序付けセマンティクスへの影響により、このマップのマッピングを順方向または逆順で簡単に反復、検索、コピーおよびストリーミングできます。
マップの逆順ビューは通常、元のマップが直列化可能であっても、直列化可能ではありません。
Map.entrySet()
ビュー、sequencedEntrySet()
ビューおよびその逆順ビューを反復して取得されたMap.Entry
インスタンスは、基礎となるマップへの接続を維持します。 この接続は反復中にのみ保証されます。 接続が反復の外部で維持されるかどうかは不確定です。 基礎となるマップで許可されている場合、エントリのsetValue
メソッドをコールすると、基礎となるマッピングの値が変更されます。 ただし、基礎となるマッピングの値に対する変更がEntry
インスタンスに表示されるかどうかは未指定です。
メソッドfirstEntry()
、lastEntry()
、pollFirstEntry()
およびpollLastEntry()
は、コール時点でのマッピングのスナップショットを表すMap.Entry
インスタンスを返します。 オプションのsetValue
メソッドを介した基礎となるマップの変更はサポートされていません。
実装によっては、他の方法で返されるEntry
インスタンスが、基礎となるマップに接続される場合と、そうでない場合があります。 たとえば、次の方法で取得したEntry
について考えてみます:
var entry = sequencedMap.sequencedEntrySet().getFirst();
Entry
のsetValue
メソッドが基礎となるマップのマッピングを更新するか、例外をスローするか、基礎となるマップへの変更をそのEntry
で参照できるかは指定されません。
このインタフェースの要件は、Map.equals
およびMap.hashCode
で定義されているequals
およびhashCode
メソッドと同じです。 したがって、Map
とSequencedMap
は、順序に関係なく、マッピングが等しい場合にのみ等価を比較します。
このクラスは、Java Collections Frameworkのメンバーです。
- 導入されたバージョン:
- 21
-
ネストされたクラスのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明このマップの最初のキーと値のマッピングを返します。マップが空の場合はnull
を返します。このマップの最後のキーと値のマッピングを返します。マップが空の場合はnull
を返します。このマップの最初のキー値マッピングを削除して返します。マップが空の場合はnull
を返します。 (オプションの操作)。このマップの最後のキー/値マッピングを削除して返します。マップが空の場合はnull
を返します。 (オプションの操作)。default V
指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。default V
指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。reversed()
このマップの逆順viewを返します。default SequencedSet
<Map.Entry<K, V>> このマップのentrySet
のSequencedSet
ビューを返します。default SequencedSet
<K> このマップのkeySet
のSequencedSet
ビューを返します。default SequencedCollection
<V> このマップのvalues
コレクションのSequencedCollection
ビューを返します。インタフェースjava.util.Mapで宣言されたメソッド
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
メソッドの詳細
-
reversed
SequencedMap<K,V> reversed()このマップの逆順viewを返します。 返されるビューでのマッピングの検出順序は、このマップでのマッピングの検出順序の逆です。 逆の順序付けは、返されるビューのビュー・コレクションに含まれるすべての順序依存操作に影響します。 実装でこのビューの変更が許可されている場合は、基礎となるマップに"ライトスルー"が変更されます。 実装によっては、基礎となるマップに対する変更が、この逆方向ビューに表示される場合と表示されない場合があります。- 戻り値:
- このマップの逆順ビュー
-
firstEntry
-
lastEntry
-
pollFirstEntry
このマップの最初のキー値マッピングを削除して返します。マップが空の場合はnull
を返します。 (オプションの操作)。- 実装要件:
- このインタフェースの実装では、このマップのentrySetのイテレータが取得されます。 イテレータに要素がある場合、イテレータで
remove
をコールし、その要素の変更不可のコピーを返します。 それ以外の場合は、nullを返します。 - 戻り値:
- このマップの削除された最初のエントリ。このマップが空の場合は
null
- 例外:
UnsupportedOperationException
- このコレクション実装がこの操作をサポートしていない場合
-
pollLastEntry
このマップの最後のキー/値マッピングを削除して返します。マップが空の場合はnull
を返します。 (オプションの操作)。- 実装要件:
- このインタフェースの実装では、このマップの逆方向表示のentrySetのイテレータが取得されます。 イテレータに要素がある場合、イテレータで
remove
をコールし、その要素の変更不可のコピーを返します。 それ以外の場合は、nullを返します。 - 戻り値:
- このマップの削除された最後のエントリ。このマップが空の場合は
null
- 例外:
UnsupportedOperationException
- このコレクション実装がこの操作をサポートしていない場合
-
putFirst
指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最初のマッピングになります。- 実装要件:
- このインタフェースの実装では、常に
UnsupportedOperationException
がスローされます。 - パラメータ:
k
- キーv
- 値- 戻り値:
- 以前kに関連付けられていた値。関連付けられていない場合はnull
- 例外:
UnsupportedOperationException
- このコレクション実装がこの操作をサポートしていない場合
-
putLast
指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最後のマッピングになります。- 実装要件:
- このインタフェースの実装では、常に
UnsupportedOperationException
がスローされます。 - パラメータ:
k
- キーv
- 値- 戻り値:
- 以前kに関連付けられていた値。関連付けられていない場合はnull
- 例外:
UnsupportedOperationException
- このコレクション実装がこの操作をサポートしていない場合
-
sequencedKeySet
default SequencedSet<K> sequencedKeySet()このマップのkeySet
のSequencedSet
ビューを返します。- 実装要件:
- このインタフェースの実装では、次のように動作する
SequencedSet
インスタンスが返されます。add
およびaddAll
メソッドは、UnsupportedOperationException
をスローします。reversed
メソッドは、このマップのreversed
ビューのsequencedKeySet
ビューを返します。 他の各メソッドは、このマップのkeySet
ビューの対応するメソッドをコールします。 - 戻り値:
- このマップの
keySet
のSequencedSet
ビュー
-
sequencedValues
default SequencedCollection<V> sequencedValues()このマップのvalues
コレクションのSequencedCollection
ビューを返します。- 実装要件:
- このインタフェースの実装では、次のように動作する
SequencedCollection
インスタンスが返されます。add
およびaddAll
メソッドは、UnsupportedOperationException
をスローします。reversed
メソッドは、このマップのreversed
ビューのsequencedValues
ビューを返します。equals
およびhashCode
メソッドは、Object
から継承されます。 他の各メソッドは、このマップのvalues
ビューの対応するメソッドをコールします。 - 戻り値:
- このマップの
values
コレクションのSequencedCollection
ビュー
-
sequencedEntrySet
default SequencedSet<Map.Entry<K,V>> sequencedEntrySet()このマップのentrySet
のSequencedSet
ビューを返します。- 実装要件:
- このインタフェースの実装では、次のように動作する
SequencedSet
インスタンスが返されます。add
およびaddAll
メソッドは、UnsupportedOperationException
をスローします。reversed
メソッドは、このマップのreversed
ビューのsequencedEntrySet
ビューを返します。 他の各メソッドは、このマップのentrySet
ビューの対応するメソッドをコールします。 - 戻り値:
- このマップの
entrySet
のSequencedSet
ビュー
-