インタフェースSequencedMap<K,V>

型パラメータ:
K - このマップによって保持されるキーのタイプ
V - マップされた値のタイプ
すべてのスーパー・インタフェース:
Map<K,V>
既知のすべてのサブインタフェース:
ConcurrentNavigableMap<K,V>, NavigableMap<K,V>, SortedMap<K,V>
既知のすべての実装クラス:
ConcurrentSkipListMap, LinkedHashMap, TreeMap

public interface SequencedMap<K,V> extends Map<K,V>
検出順序が明確に定義され、両端での操作をサポートし、逆転可能なマップ。 SequencedMap「見つける」は、SequencedCollectionの要素の「見つける」と似ていますが、順序付けは個々の要素ではなくマッピングに適用されます。

このマップでのバルク操作(forEachおよびreplaceAllメソッドを含む)は、このマップのマッピングを検出順に操作します。

keySetvaluesentrySetsequencedKeySetsequencedValuesおよびsequencedEntrySetメソッドによって提供されるビュー・コレクションは、すべてこのマップの出現順序を反映しています。 keySetvaluesおよび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();
このインタフェースでは、取得したEntrysetValueメソッドが基礎となるマップのマッピングを更新するか、例外をスローするか、基礎となるマップへの変更をそのEntryで参照できるかは指定されません。

このインタフェースの要件は、Map.equalsおよびMap.hashCodeで定義されているequalsおよびhashCodeメソッドと同じです。 したがって、MapSequencedMapは、順序に関係なく、マッピングが等しい場合にのみ等価を比較します。

このクラスは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
21
  • ネストされたクラスのサマリー

    インタフェースMapで宣言されたネストされたクラス/インタフェース

    Map.Entry<K,V>
    修飾子と型
    インタフェース
    説明
    static interface 
    マップのエントリ(キーと値のペア)です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default Map.Entry<K,V>
    このマップの最初のキーと値のマッピングを返します。マップが空の場合はnullを返します。
    default Map.Entry<K,V>
    このマップの最後のキーと値のマッピングを返します。マップが空の場合はnullを返します。
    default Map.Entry<K,V>
    このマップの最初のキー値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
    default Map.Entry<K,V>
    このマップの最後のキー/値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
    default V
    putFirst(K k, V v)
    指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。
    default V
    putLast(K k, V v)
    指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。
    このマップの逆順viewを返します。
    このマップのentrySetSequencedSetビューを返します。
    default SequencedSet<K>
    このマップのkeySetSequencedSetビューを返します。
    このマップの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
    修飾子と型
    メソッド
    説明
    void
    マップからマッピングをすべて削除します(オプションの操作)。
    default V
    compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    指定されたキーとその現在のマップされた値のマッピングをコンピュートしようとします。現在のマッピング(オプションの操作)がない場合はnullです。
    default V
    computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
    指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、指定されたマッピング関数を使用してその値をコンピュートし、null (オプションの操作)でないかぎりこのマップに入力します。
    default V
    computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    指定されたキーの値が存在し、null以外の場合は、キーとその現在のマップされた値(オプションの操作)を指定して、新しいマッピングのコンピュートを試みます。
    boolean
    指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
    boolean
    このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
    このマップに含まれるマッピングのSetビューを返します。
    boolean
    指定されたオブジェクトがこのマップと等しいかどうかを比較します。
    default void
    forEach(BiConsumer<? super K, ? super V> action)
    このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。
    get(Object key)
    指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。
    default V
    getOrDefault(Object key, V defaultValue)
    指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。
    int
    マップのハッシュ・コード値を返します。
    boolean
    このマップがキーと値のマッピングを保持しない場合にtrueを返します。
    このマップに含まれるキーのSetビューを返します。
    default V
    merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    指定されたキーがまだ値に関連付けられていない場合、またはnullに関連付けられている場合は、指定されたnull以外の値(オプションの操作)に関連付けます。
    put(K key, V value)
    指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。
    void
    putAll(Map<? extends K, ? extends V> m)
    指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。
    default V
    putIfAbsent(K key, V value)
    指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、そのキーは指定された値に関連付けられ、nullを返します。それ以外の場合は、現在の値(オプションの操作)を返します。
    このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。
    default boolean
    remove(Object key, Object value)
    指定されたキーが現在、指定された値(オプションの操作)にマップされている場合にのみ、そのキーのエントリを削除します。
    default V
    replace(K key, V value)
    指定されたキーのエントリが、現在値(オプションの操作)にマップされている場合にのみ、そのエントリを置換します。
    default boolean
    replace(K key, V oldValue, V newValue)
    指定された値(オプションの操作)に現在マップされている場合にのみ、指定されたキーのエントリを置換します。
    default void
    replaceAll(BiFunction<? super K, ? super V, ? extends V> function)
    すべてのエントリが処理されるか、関数が例外(オプションの操作)をスローするまで、各エントリの値を、そのエントリの指定された関数を呼び出した結果に置き換えます。
    int
    このマップ内のキー値マッピングの数を返します。
    このマップに含まれる値のCollectionビューを返します。
  • メソッドの詳細

    • reversed

      SequencedMap<K,V> reversed()
      このマップの逆順viewを返します。 返されるビューでのマッピングの検出順序は、このマップでのマッピングの検出順序の逆です。 逆の順序付けは、返されるビューのビュー・コレクションに含まれるすべての順序依存操作に影響します。 実装でこのビューの変更が許可されている場合は、基礎となるマップに"ライトスルー"が変更されます。 実装によっては、基礎となるマップに対する変更が、この逆方向ビューに表示される場合と表示されない場合があります。
      戻り値:
      このマップの逆順ビュー
    • firstEntry

      default Map.Entry<K,V> firstEntry()
      このマップの最初のキーと値のマッピングを返します。マップが空の場合はnullを返します。
      実装要件:
      このインタフェースの実装では、このマップのentrySetのイテレータが取得されます。 イテレータに要素がある場合、その要素の変更不可のコピーが返されます。 それ以外の場合は、nullを返します。
      戻り値:
      最初のキー/値マッピング、またはこのマップが空の場合はnull
    • lastEntry

      default Map.Entry<K,V> lastEntry()
      このマップの最後のキーと値のマッピングを返します。マップが空の場合はnullを返します。
      実装要件:
      このインタフェースの実装では、このマップの逆方向表示のentrySetのイテレータが取得されます。 イテレータに要素がある場合、その要素の変更不可のコピーが返されます。 それ以外の場合は、nullを返します。
      戻り値:
      最後のキーと値のマッピング、またはこのマップが空の場合はnull
    • pollFirstEntry

      default Map.Entry<K,V> pollFirstEntry()
      このマップの最初のキー値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
      実装要件:
      このインタフェースの実装では、このマップのentrySetのイテレータが取得されます。 イテレータに要素がある場合、イテレータでremoveをコールし、その要素の変更不可のコピーを返します。 それ以外の場合は、nullを返します。
      戻り値:
      このマップの削除された最初のエントリ。このマップが空の場合はnull
      スロー:
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
    • pollLastEntry

      default Map.Entry<K,V> pollLastEntry()
      このマップの最後のキー/値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
      実装要件:
      このインタフェースの実装では、このマップの逆方向表示のentrySetのイテレータが取得されます。 イテレータに要素がある場合、イテレータでremoveをコールし、その要素の変更不可のコピーを返します。 それ以外の場合は、nullを返します。
      戻り値:
      このマップの削除された最後のエントリ。このマップが空の場合はnull
      スロー:
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
    • putFirst

      default V putFirst(K k, V v)
      指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最初のマッピングになります。
      実装要件:
      このインタフェースの実装では、常にUnsupportedOperationExceptionがスローされます。
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない場合はnull
      スロー:
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
    • putLast

      default V putLast(K k, V v)
      指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最後のマッピングになります。
      実装要件:
      このインタフェースの実装では、常にUnsupportedOperationExceptionがスローされます。
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない場合はnull
      スロー:
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
    • sequencedKeySet

      default SequencedSet<K> sequencedKeySet()
      このマップのkeySetSequencedSetビューを返します。
      実装要件:
      このインタフェースの実装では、次のように動作するSequencedSetインスタンスが返されます。 そのaddaddAlladdFirstおよびaddLastメソッドは、UnsupportedOperationExceptionをスローします。 そのgetFirstメソッドとgetLastメソッドは、それぞれこのインタフェースのfirstEntryメソッドとlastEntryメソッドに関して実装されます。 そのremoveFirstメソッドとremoveLastメソッドは、それぞれこのインタフェースのpollFirstEntryメソッドとpollLastEntryメソッドに関して実装されます。 このマップのreversedメソッドは、このマップのreversedビューのsequencedKeySetビューを返します。 その他の各メソッドは、このマップのkeySetビューの対応するメソッドを呼び出します。
      戻り値:
      このマップのkeySetSequencedSetビュー
    • sequencedValues

      default SequencedCollection<V> sequencedValues()
      このマップのvaluesコレクションのSequencedCollectionビューを返します。
      実装要件:
      このインタフェースの実装では、次のように動作するSequencedCollectionインスタンスが返されます。 そのaddaddAlladdFirstおよび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()
      このマップのentrySetSequencedSetビューを返します。
      実装要件:
      このインタフェースの実装では、次のように動作するSequencedSetインスタンスが返されます。 そのaddaddAlladdFirstおよびaddLastメソッドは、UnsupportedOperationExceptionをスローします。 そのgetFirstメソッドとgetLastメソッドは、それぞれこのインタフェースのfirstEntryメソッドとlastEntryメソッドに関して実装されます。 そのremoveFirstメソッドとremoveLastメソッドは、それぞれこのインタフェースのpollFirstEntryメソッドとpollLastEntryメソッドに関して実装されます。 このマップのreversedメソッドは、このマップのreversedビューのsequencedEntrySetビューを返します。 その他の各メソッドは、このマップのentrySetビューの対応するメソッドを呼び出します。
      戻り値:
      このマップのentrySetSequencedSetビュー