インタフェース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ビューを返します。インタフェース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修飾子と型メソッド説明voidclear()マップからマッピングをすべて削除します(オプションの操作)。default V指定されたキーとその現在のマップされた値のマッピングをコンピュートしようとします。現在のマッピング(オプションの操作)がない場合はnullです。default VcomputeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) 指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、指定されたマッピング関数を使用してその値をコンピュートし、null(オプションの操作)でないかぎりこのマップに入力します。default VcomputeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) 指定されたキーの値が存在し、null以外の場合は、キーとその現在のマップされた値(オプションの操作)を指定して、新しいマッピングのコンピュートを試みます。booleancontainsKey(Object key) 指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。booleancontainsValue(Object value) このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。entrySet()このマップに含まれるマッピングのSetビューを返します。boolean指定されたオブジェクトがこのマップと等しいかどうかを比較します。default voidforEach(BiConsumer<? super K, ? super V> action) このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。default VgetOrDefault(Object key, V defaultValue) 指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。inthashCode()マップのハッシュ・コード値を返します。booleanisEmpty()このマップがキーと値のマッピングを保持しない場合にtrueを返します。keySet()このマップに含まれるキーのSetビューを返します。default V指定されたキーがまだ値に関連付けられていない場合、またはnullに関連付けられている場合は、指定されたnull以外の値(オプションの操作)に関連付けます。指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。void指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。default VputIfAbsent(K key, V value) 指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、そのキーは指定された値に関連付けられ、nullを返します。それ以外の場合は、現在の値(オプションの操作)を返します。このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。default boolean指定されたキーが現在、指定された値(オプションの操作)にマップされている場合にのみ、そのキーのエントリを削除します。default V指定されたキーのエントリが、現在値(オプションの操作)にマップされている場合にのみ、そのエントリを置換します。default boolean指定された値(オプションの操作)に現在マップされている場合にのみ、指定されたキーのエントリを置換します。default voidreplaceAll(BiFunction<? super K, ? super V, ? extends V> function) すべてのエントリが処理されるか、関数が例外(オプションの操作)をスローするまで、各エントリの値を、そのエントリの指定された関数を呼び出した結果に置き換えます。intsize()このマップ内のキー値マッピングの数を返します。values()このマップに含まれる値のCollectionビューを返します。
-
メソッドの詳細
-
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、addFirstおよびaddLastメソッドは、UnsupportedOperationExceptionをスローします。 そのgetFirstメソッドとgetLastメソッドは、それぞれこのインタフェースのfirstEntryメソッドとlastEntryメソッドに関して実装されます。 そのremoveFirstメソッドとremoveLastメソッドは、それぞれこのインタフェースのpollFirstEntryメソッドとpollLastEntryメソッドに関して実装されます。 このマップのreversedメソッドは、このマップのreversedビューのsequencedKeySetビューを返します。 その他の各メソッドは、このマップのkeySetビューの対応するメソッドを呼び出します。 - 戻り値:
- このマップの
keySetのSequencedSetビュー
-
sequencedValues
default SequencedCollection<V> sequencedValues()このマップのvaluesコレクションのSequencedCollectionビューを返します。- 実装要件:
- このインタフェースの実装では、次のように動作する
SequencedCollectionインスタンスが返されます。 そのadd、addAll、addFirstおよびaddLastメソッドは、UnsupportedOperationExceptionをスローします。 そのgetFirstメソッドとgetLastメソッドは、それぞれこのインタフェースのfirstEntryメソッドとlastEntryメソッドに関して実装されます。 そのremoveFirstメソッドとremoveLastメソッドは、それぞれこのインタフェースのpollFirstEntryメソッドとpollLastEntryメソッドに関して実装されます。 このマップのreversedメソッドは、このマップのreversedビューのsequencedValuesビューを返します。 そのequalsメソッドとhashCodeメソッドは、Objectから継承されます。 その他の各メソッドは、このマップのvaluesビューの対応するメソッドを呼び出します。 - 戻り値:
- このマップの
valuesコレクションのSequencedCollectionビュー
-
sequencedEntrySet
default SequencedSet<Map.Entry<K,V>> sequencedEntrySet()このマップのentrySetのSequencedSetビューを返します。- 実装要件:
- このインタフェースの実装では、次のように動作する
SequencedSetインスタンスが返されます。 そのadd、addAll、addFirstおよびaddLastメソッドは、UnsupportedOperationExceptionをスローします。 そのgetFirstメソッドとgetLastメソッドは、それぞれこのインタフェースのfirstEntryメソッドとlastEntryメソッドに関して実装されます。 そのremoveFirstメソッドとremoveLastメソッドは、それぞれこのインタフェースのpollFirstEntryメソッドとpollLastEntryメソッドに関して実装されます。 このマップのreversedメソッドは、このマップのreversedビューのsequencedEntrySetビューを返します。 その他の各メソッドは、このマップのentrySetビューの対応するメソッドを呼び出します。 - 戻り値:
- このマップの
entrySetのSequencedSetビュー
-