インタフェースSequencedMap<K,V>
- 型パラメータ:
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ビュー
-