クラスLinkedHashMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.HashMap<K,V>
java.util.LinkedHashMap<K,V>
型パラメータ:
K - このマップによって保持されるキーのタイプ
V - マップされた値のタイプ
すべての実装されたインタフェース:
Serializable, Cloneable, Map<K,V>, SequencedMap<K,V>

public class LinkedHashMap<K,V> extends HashMap<K,V> implements SequencedMap<K,V>

Mapインタフェースのハッシュ表およびリンク・リスト実装。検出順序は明確に定義されています。 この実装は、HashMapとは異なります。これは、すべてのエントリを経由して実行される二重リンク・リストを保持する点です。 このリンク・リストでは、検出順序(反復の順序)を定義します。これは通常、マップ(insertion-order)にキーが挿入された順序です。 最も最近挿入されたエントリ(最年長)が最初で、最も新しいエントリが最後です。 キーがputメソッドを使用してマップにre-insertedである場合、検出順序は影響を受けません。 (キーkは、m.containsKey(k)が呼出しの直前にtrueを返すときにm.put(k, v)が呼び出されると、マップmに再挿入されます。) このマップの逆順のビューは逆の順序で、最年少のエントリが最初に表示され、最年長のエントリが最後に表示されます。 マップにすでに存在するエントリの出現順序は、putFirstおよびputLastメソッドを使用して変更できます。

この実装では、HashMapおよびHashtableで提供される未指定(無秩序)の順序がクライアントで起きることはありません(TreeMapのように負荷が増えることもありません)。 この実装を使用することで、元のマップの実装にかかわらず、元のマップと同じ順序のコピーを作成できます。

    void foo(Map<String, Integer> m) {
        Map<String, Integer> copy = new LinkedHashMap<>(m);
        ...
    }
この技術は、モジュールが入力としてマップを取り、それをコピーし、順序がコピーの順序で決まる結果を返す場合に、特に役立ちます。 (クライアントは一般的に、渡された順序で返されることを想定します。)

特別なconstructorが提供され、リンクされたハッシュ・マップが作成されます。このハッシュ・マップは、エントリが最後にアクセスされた順序で、最も最近アクセスされたものから最も新しいものへの順序です。(access-order)。 この種のマップは、LRUキャッシュを構築するのに最適です。 putputIfAbsentgetgetOrDefaultcomputecomputeIfAbsentcomputeIfPresentまたはmergeメソッドを呼び出すことは、対応するエントリにアクセスすることになります(呼出し完了後にそれが存在することを前提とする)。 replaceメソッドは、値が置換されている場合にはエントリにアクセスするだけになります。 putAllメソッドは、指定されたマップのエントリ・セット・イテレータによってキー値マッピングが提供される順序で、指定されたマップ内の各マッピングへの1回のアクセスを生成します。 他のメソッドはエントリ・アクセスを生成しません。 逆仕訳済ビューでこれらのメソッドを起動すると、バッキング・マップのエントリへのアクセスが生成されます。 逆方向ビューでは、エントリにアクセスすると、エントリが最初に出現順に移動することに注意してください。 putFirstlastEntryなどの明示的な配置メソッドは、マップ上か逆順のビュー上かに関係なく、配置操作を実行し、エントリ・アクセスを生成しません。 keySetvaluesおよびentrySetビューに対する操作、または順序付けされた対応する操作が、バッキング・マップの発生順序に影響しません。

マップに新しいマッピングが追加されると、自動的に古いマッピングを削除するポリシーを適用するために、removeEldestEntry(Map.Entry)メソッドがオーバーライドされる場合があります。 または、"長老"エントリが出現順に最初のエントリであるため、プログラムはfirstEntryおよびpollFirstEntryメソッドを使用して古いマッピングを検査および削除できます。

このクラスは、オプションのMapおよびSequencedMap操作をすべて提供し、null要素を許可します。 HashMapと同様、ハッシュ関数がバケット間で要素を適切に分散すると、基本操作(addcontainsおよびremove)に対して一定時間のパフォーマンスが提供されます。 リンク・リストを維持する追加コストが1つあるため、パフォーマンスはHashMapのパフォーマンスのわずかに下回る可能性があります: LinkedHashMapのコレクション・ビューに対する反復には、その容量に関係なく、マップのsizeに比例した時間が必要です。 HashMapに対する反復は、その「容量」に比例した時間を必要とする、より高コストになる可能性があります。

リンク・ハッシュ・マップには、パフォーマンスに影響を及ぼすパラメータが2つあります。初期容量負荷係数です。 これらは、HashMapの場合と同様に正確に定義されます。 ただし、このクラスの反復時間は容量の影響を受けないため、初期容量に対して過度に高い値を選択するペナルティは、HashMapよりも厳しいです。

この実装はsynchronizedされません。 複数のスレッドが並行してリンク・ハッシュ・マップにアクセスし、それらのスレッドの少なくとも1つが構造的にマップを変更する場合には、外部でsynchronizedする必要があります これは通常、マップを自然にカプセル化する一部のオブジェクトでsynchronizedすることによって達成されます。 そのようなオブジェクトが存在しない場合は、Collections.synchronizedMapメソッドを使用してマップを「ラップ」することをお薦めします。 マップが誤ってsynchronizedなしでアクセスされるのを防ぐために、作成時に行うことをお薦めします。

  Map m = Collections.synchronizedMap(new LinkedHashMap(...));
構造的な変更は、1つまたは複数のマッピングを追加または削除するオペレーションです。アクセス順のリンク・ハッシュ・マップの場合は、反復順序に影響します。 挿入順のリンク・ハッシュ・マップでは、すでにマップに含まれているキーに関連付けられた値を変更するだけの場合は、構造的な変更ではありません。 アクセス順序のリンクされたハッシュ・マップでは、getを使用してマップを問い合せるのみで構造的な変更になります。 )

このクラスのすべてのコレクション・ビュー・メソッドによって返されるコレクションのiteratorメソッドによって返されるイテレータは、fail-fastです: イテレータの作成後にマップが構造的に変更された場合、イテレータ独自のremoveメソッド以外のすべての方法で、イテレータはConcurrentModificationExceptionをスローします。 このように、並行して変更が行われると、イテレータは、将来の予測できない時点において予測できない動作が発生する危険を回避するために、ただちにかつ手際よく例外をスローします。

通常、非同期の並行変更がある場合、確かな保証を行うことは不可能なので、イテレータのフェイルファストの動作を保証することはできません。 フェイルファスト・イテレータは、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。 したがって、正確を期すためにこの例外に依存するプログラムを書くことは誤りです。イテレータのフェイルファストの動作はバグを検出するためにのみ使用すべきです。

このクラスのすべてのコレクション・ビュー・メソッドによって返されるコレクションのスプリッテレータ・メソッドによって返されるスプリッテレータは、遅延バインディングおよびフェイルファストで、さらにSpliterator.ORDEREDを報告します。

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

実装上のノート:
このクラスのすべてのコレクション・ビュー・メソッドによって返されるコレクションのスプリッテレータ・メソッドによって返されるスプリッテレータは、対応するコレクションのイテレータから作成されます。
導入されたバージョン:
1.4
関連項目:
  • ネストされたクラスのサマリー

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

    AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
    修飾子と型
    クラス
    説明
    static class 
    キーと値を保持するエントリ。
    static class 
    キーと値を保守する変更不可のエントリ。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトの初期容量(16)および負荷係数(0.75)を使用して、空の挿入順序のLinkedHashMapインスタンスを作成します。
    LinkedHashMap(int initialCapacity)
    指定された初期容量およびデフォルトのロード・ファクタ(0.75)を使用して、挿入順序の空のLinkedHashMapインスタンスを作成します。
    LinkedHashMap(int initialCapacity, float loadFactor)
    指定された初期容量と負荷係数を持つ空の挿入順序のLinkedHashMapインスタンスを構築します。
    LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
    指定された初期容量、負荷係数および順序付けモードで空のLinkedHashMapインスタンスを構築します。
    LinkedHashMap(Map<? extends K, ? extends V> m)
    指定したマップと同じマッピングを使用して、挿入順序のLinkedHashMapインスタンスを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
    このマップに含まれるマッピングのSetビューを返します。
    get(Object key)
    指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。
    このマップに含まれるキーのSetビューを返します。
    static <K,V> LinkedHashMap<K,V>
    newLinkedHashMap(int numMappings)
    予想されるマッピング数に適した、新しい空の挿入順序のLinkedHashMapを作成します。
    putFirst(K k, V v)
    指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。
    putLast(K k, V v)
    指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。
    protected boolean
    このマップが最長のエントリを削除する必要がある場合、trueを返します。
    このマップの逆順viewを返します。
    このマップのentrySetSequencedSetビューを返します。
    このマップのkeySetSequencedSetビューを返します。
    このマップのvaluesコレクションのSequencedCollectionビューを返します。
    このマップに含まれる値のCollectionビューを返します。

    クラスで宣言されたメソッド HashMap

    clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, newHashMap, put, putAll, remove, size
    修飾子と型
    メソッド
    説明
    void
    すべてのマッピングをマップから削除します。
    このHashMapインスタンスのシャロー・コピーを返します: キーと値自体はクローンされません。
    compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    指定されたキーとその現在のマップされた値のマッピングをコンピュートしようとします。現在のマッピング(オプションの操作)がない場合はnullです。
    computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
    指定されたキーが値(または、nullにマップされます。)にまだ関連付けられていない場合、指定されたマッピング関数を使用してその値をコンピュートし、null (オプションの操作)でないかぎりこのマップに入力します。
    computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
    指定されたキーの値が存在し、null以外の場合は、キーとその現在のマップされた値(オプションの操作)を指定して、新しいマッピングのコンピュートを試みます。
    boolean
    指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
    boolean
    このマップがキーと値のマッピングを保持しない場合にtrueを返します。
    merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    指定されたキーがまだ値に関連付けられていない場合、またはnullに関連付けられている場合は、指定されたnull以外の値(オプションの操作)に関連付けます。
    static <K,V> HashMap<K,V>
    newHashMap(int numMappings)
    必要なマッピング数に適した新しい空のHashMapを作成します。
    put(K key, V value)
    指定された値と指定されたキーをこのマップに関連付けます。
    void
    putAll(Map<? extends K, ? extends V> m)
    指定されたマップからすべてのマッピングをマップにコピーします。
    指定されたキーのマッピングがあればマップから削除します。
    int
    このマップ内のキー値マッピングの数を返します。

    クラスで宣言されたメソッド AbstractMap

    equals, hashCode, toString
    修飾子と型
    メソッド
    説明
    boolean
    指定されたオブジェクトがこのマップと等しいかどうかを比較します。
    int
    マップのハッシュ・コード値を返します。
    このマップの文字列表現を返します。

    クラスオブジェクトで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。

    インタフェースMapで宣言されたメソッド

    forEach, getOrDefault, putIfAbsent, remove, replace, replace, replaceAll
    修飾子と型
    メソッド
    説明
    default void
    forEach(BiConsumer<? super K, ? super V> action)
    このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。
    default V
    getOrDefault(Object key, V defaultValue)
    指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はdefaultValueを返します。
    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)
    すべてのエントリが処理されるか、関数が例外(オプションの操作)をスローするまで、各エントリの値を、そのエントリの指定された関数を呼び出した結果に置き換えます。

    インタフェースで宣言されたメソッド SequencedMap

    firstEntry, lastEntry, pollFirstEntry, pollLastEntry
    修飾子と型
    メソッド
    説明
    default Map.Entry<K,V>
    このマップの最初のキーと値のマッピングを返します。マップが空の場合はnullを返します。
    default Map.Entry<K,V>
    このマップの最後のキーと値のマッピングを返します。マップが空の場合はnullを返します。
    default Map.Entry<K,V>
    このマップの最初のキー値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
    default Map.Entry<K,V>
    このマップの最後のキー/値マッピングを削除して返します。マップが空の場合はnullを返します。 (オプションの操作)。
  • コンストラクタの詳細

    • LinkedHashMap

      public LinkedHashMap(int initialCapacity, float loadFactor)
      指定された初期容量と負荷係数を持つ空の挿入順序のLinkedHashMapインスタンスを構築します。
      APIのノート:
      予想される数のマッピングに対応する初期容量を持つLinkedHashMapを作成するには、newLinkedHashMapを使用します。
      パラメータ:
      initialCapacity - 初期容量
      loadFactor - 負荷係数
      スロー:
      IllegalArgumentException - 初期容量が負であるか、負荷係数が正でない場合
    • LinkedHashMap

      public LinkedHashMap(int initialCapacity)
      指定された初期容量およびデフォルトのロード・ファクタ(0.75)を使用して、挿入順序の空のLinkedHashMapインスタンスを作成します。
      APIのノート:
      予想される数のマッピングに対応する初期容量を持つLinkedHashMapを作成するには、newLinkedHashMapを使用します。
      パラメータ:
      initialCapacity - 初期容量
      スロー:
      IllegalArgumentException - 初期容量が負の場合
    • LinkedHashMap

      public LinkedHashMap()
      デフォルトの初期容量(16)および負荷係数(0.75)を使用して、空の挿入順序のLinkedHashMapインスタンスを作成します。
    • LinkedHashMap

      public LinkedHashMap(Map<? extends K, ? extends V> m)
      指定したマップと同じマッピングを使用して、挿入順序のLinkedHashMapインスタンスを構築します。 LinkedHashMapインスタンスは、デフォルトのロード・ファクタ(0.75)と、指定したマップにマッピングを保持するのに十分な初期容量で作成されます。
      パラメータ:
      m - マッピングがこのマップに配置されるマップ
      スロー:
      NullPointerException - 指定されたマップがnullの場合
    • LinkedHashMap

      public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
      指定された初期容量、負荷係数および順序付けモードで空のLinkedHashMapインスタンスを構築します。
      パラメータ:
      initialCapacity - 初期容量
      loadFactor - 負荷係数
      accessOrder - 順序付けモード - true(アクセス順序)、false(挿入順序)
      スロー:
      IllegalArgumentException - 初期容量が負であるか、負荷係数が正でない場合
  • メソッドの詳細

    • putFirst

      public V putFirst(K k, V v)
      指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最初のマッピングになります。

      このマップにこのキーのマッピングがすでに含まれている場合、マッピングは必要に応じて再配置され、最初に検出された順序になります。

      定義:
      インタフェースSequencedMap<K,V>内のputFirst
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない場合はnull
      導入されたバージョン:
      21
    • putLast

      public V putLast(K k, V v)
      指定されたマッピングがまだ存在しない場合はマップに挿入し、すでに存在する場合はマッピングの値を置換します (オプションの操作)。 この操作が正常に完了すると、指定されたマッピングがこのマップに存在し、このマップの出現順序の最後のマッピングになります。

      このマップにこのキーのマッピングがすでに含まれている場合は、必要に応じてマッピングが再配置され、最後に検出された順序になります。

      定義:
      インタフェースSequencedMap<K,V>内のputLast
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない場合はnull
      導入されたバージョン:
      21
    • containsValue

      public boolean containsValue(Object value)
      このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
      定義:
      インタフェースMap<K,V>内のcontainsValue
      オーバーライド:
      クラスHashMap<K,V>containsValue
      パラメータ:
      value - このマップにあるかどうかが判定される値
      戻り値:
      このマップが1つまたは複数のキーを指定された値にマッピングしている場合はtrue
    • get

      public V get(Object key)
      指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。

      つまり、このメソッドは、(key==null ? k==null : key.equals(k))となるキーkから値vへのマッピングがこのマップに含まれている場合はvを返し、それ以外の場合はnullを返します。 (このようなマッピングは1つのみ存在できます。)

      戻り値nullは、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップすることもあります。 containsKey操作を使うと、これら2つのケースを見分けることができます。

      定義:
      インタフェースMap<K,V>内のget
      オーバーライド:
      クラスHashMap<K,V>get
      パラメータ:
      key - 関連付けられた値が返されるキー
      戻り値:
      指定されたキーがマップされている値。そのキーのマッピングがこのマップに含まれていない場合はnull
      関連項目:
    • removeEldestEntry

      protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
      このマップが最長のエントリを削除する必要がある場合、trueを返します。 このメソッドは、マップに新しいエントリを挿入した後、putおよびputAllによって呼び出されます。 新しいエントリが追加されるたびに、このメソッドは一番古いエントリを削除する機会を実装側に提供します。 これは、マップがキャッシュを表す場合に有効です。古いエントリを削除することで、マップはメモリー消費を低減できます。

      サンプル使用: このオーバーライドにより、マップはエントリを最大100個まで増加し、新しいエントリが追加されるたびに一番古いエントリを削除できます(エントリ数は常に100個で維持されます)。

          private static final int MAX_ENTRIES = 100;
      
          protected boolean removeEldestEntry(Map.Entry eldest) {
             return size() > MAX_ENTRIES;
          }
      

      このメソッドは通常、マップを変更しません。代わりに、戻り値で指示されたとおりにマップが自身を変更することを許可します。 このメソッドでマップを直接変更することは許可されていますが、変更する場合は、false (マップがこれ以上の変更を試行しないことを示す)を返す必要があります。 このメソッド内からマップを変更した後でtrueを返す効果は不明です。

      この実装では、単にfalseを返します (このマップが通常のマップのように動作するようにします - eldest要素は削除されません)。

      パラメータ:
      eldest - もっとも以前にマップに挿入されたエントリ。これがアクセス順マップの場合は、もっとも以前にアクセスされたエントリ。 これは、このメソッドがtrueを返す場合に削除されるエントリです。 putまたはputAll呼出しの前にマップが空で、この呼出しが発生した場合、これは挿入されたエントリになります。つまり、マップに1つのエントリが含まれている場合、最も古いエントリも最新になります。
      戻り値:
      最も古いエントリをマップから削除する場合はtrue、保持する場合はfalse
    • keySet

      public Set<K> keySet()
      このマップに含まれるキーのSetビューを返します。 ビュー内のキーが出現する順序は、このマップのマッピングの順序と一致します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAll操作はサポートされていません。 そのSpliteratorは通常、HashMapより高速な順次パフォーマンスを提供しますが、並列パフォーマンスは大幅に低下します。
      定義:
      インタフェースMap<K,V>内のkeySet
      オーバーライド:
      クラスHashMap<K,V>keySet
      戻り値:
      マップに含まれているキーのセット・ビュー
    • sequencedKeySet

      public SequencedSet<K> sequencedKeySet()
      このマップのkeySetSequencedSetビューを返します。

      返されるビューには、keySetメソッドによって返されるビューに指定されたものと同じ特性があります。

      定義:
      インタフェースSequencedMap<K,V>内のsequencedKeySet
      戻り値:
      このマップのkeySetSequencedSetビュー
      導入されたバージョン:
      21
    • values

      public Collection<V> values()
      このマップに含まれる値のCollectionビューを返します。 ビュー内の値の検出順序は、このマップ内のエントリの検索順序に一致します。 コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーションを除く)。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeCollection.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。 そのSpliteratorは通常、HashMapより高速な順次パフォーマンスを提供しますが、並列パフォーマンスは大幅に低下します。
      定義:
      インタフェースMap<K,V>内のvalues
      オーバーライド:
      クラスHashMap<K,V>values
      戻り値:
      このマップに含まれている値のビュー
    • sequencedValues

      public SequencedCollection<V> sequencedValues()
      このマップのvaluesコレクションのSequencedCollectionビューを返します。

      返されるビューには、valuesメソッドによって返されるビューに指定されたものと同じ特性があります。

      定義:
      インタフェースSequencedMap<K,V>内のsequencedValues
      戻り値:
      このマップのvaluesコレクションのSequencedCollectionビュー
      導入されたバージョン:
      21
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      このマップに含まれるマッピングのSetビューを返します。 ビューの検索順序は、このマップのエントリの検索順序に一致します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーション、またはイテレータにより返されるマップ・エントリに対するsetValueオペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。 そのSpliteratorは通常、HashMapより高速な順次パフォーマンスを提供しますが、並列パフォーマンスは大幅に低下します。
      定義:
      インタフェースMap<K,V>内のentrySet
      オーバーライド:
      クラスHashMap<K,V>entrySet
      戻り値:
      マップ内に保持されているマッピングのセット・ビュー
    • sequencedEntrySet

      public SequencedSet<Map.Entry<K,V>> sequencedEntrySet()
      このマップのentrySetSequencedSetビューを返します。

      返されるビューには、entrySetメソッドによって返されるビューに指定されたものと同じ特性があります。

      定義:
      インタフェースSequencedMap<K,V>内のsequencedEntrySet
      戻り値:
      このマップのentrySetSequencedSetビュー
      導入されたバージョン:
      21
    • newLinkedHashMap

      public static <K,V> LinkedHashMap<K,V> newLinkedHashMap(int numMappings)
      予想されるマッピング数に適した、新しい空の挿入順序のLinkedHashMapを作成します。 返されるマップではデフォルトのロード係数0.75が使用され、初期容量は通常十分に大きいため、マップのサイズを変更せずに必要な数のマッピングを追加できます。
      型パラメータ:
      K - 新しいマップによって保持されるキーのタイプ
      V - マップされた値のタイプ
      パラメータ:
      numMappings - マッピングの予想数
      戻り値:
      新しく作成されたマップ
      スロー:
      IllegalArgumentException - numMappingsが負の場合
      導入されたバージョン:
      19
    • reversed

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

      逆方向ビューおよびそのマップ・ビューに対する変更は許可され、このマップに伝播されます。 さらに、このマップに対する変更は、逆方向ビューとそのマップ・ビューに表示されます。

      定義:
      インタフェースSequencedMap<K,V>内のreversed
      戻り値:
      このマップの逆順ビュー
      導入されたバージョン:
      21