モジュール java.base
パッケージ java.util.concurrent

クラスConcurrentSkipListMap<K,​V>

  • 型パラメータ:
    K - このマップで保持されるキーの型
    V - マップされる値の型
    すべての実装されたインタフェース:
    Serializable, Cloneable, ConcurrentMap<K,​V>, ConcurrentNavigableMap<K,​V>, Map<K,​V>, NavigableMap<K,​V>, SortedMap<K,​V>

    public class ConcurrentSkipListMap<K,​V>
    extends AbstractMap<K,​V>
    implements ConcurrentNavigableMap<K,​V>, Cloneable, Serializable
    スケーラブルな並行ConcurrentNavigableMap実装です。 マップは、使用するコンストラクタに応じて、そのキーの自然順序付けに従って、またはマップ作成時に提供されるComparatorによってソートされます。

    このクラスは、SkipListsの並行バリアントを実装して、containsKeygetput、およびremoveオペレーションとそれらのバリアントに予想される平均log(n)時間コストを提供します。 挿入、削除、更新、アクセスの各オペレーションは、複数のスレッドによって並行して、安全に実行されます。

    イテレータおよびスプリッテレータは弱一貫性を持っています

    昇順のキーで並べられたビューとそのイテレータは、降順の場合よりも高速になります。

    このクラス内のメソッドによって返されるすべてのMap.Entryペアとそのビューは、マッピングの生成時のスナップショットを表します。 これらはEntry.setValueメソッドをサポートしていません ただし、必要とする効果に応じて、putputIfAbsent、またはreplaceを使用して、関連付けられたマップ内のマッピングを変更できることに注意してください。

    putAllequalstoArraycontainsValue、およびclearは、アトミックに実行されることが保証されていないことに注意してください。 たとえば、putAllオペレーションと並行して動作しているイテレータは、追加された要素の一部しか表示しないことがあります。

    このクラスとそのビューおよびイテレータは、MapおよびIteratorインタフェースのオプション・メソッドすべてを実装します。 他のほとんどの並行処理コレクションと同様、このクラスはnullのキーまたは値の使用を許可しません。これは、一部のnullの戻り値は要素がない場合と確実に区別できないためです。

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

    導入されたバージョン:
    1.6
    関連項目:
    直列化された形式
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      ConcurrentSkipListMap()
      キーの自然順序付けに従ってソートされた、新しい空のマップを作成します。
      ConcurrentSkipListMap​(Comparator<? super K> comparator)
      指定されたコンパレータに従ってソートされた、新しい空のマップを作成します。
      ConcurrentSkipListMap​(Map<? extends K,​? extends V> m)
      指定されたマップと同じマッピングを持ち、キーの自然順序付けに従ってソートされた新しいマップを構築します。
      ConcurrentSkipListMap​(SortedMap<K,​? extends V> m)
      指定されたソート・マップと同じマッピングを持ち、同じ順序付けを使用する、新しいマップを構築します。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Map.Entry<K,​V> ceilingEntry​(K key)
      指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなエントリが存在しない場合は、nullを返します。
      K ceilingKey​(K key)
      指定されたキーと等しいかそれよりも大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
      void clear()
      すべてのマッピングをマップから削除します。
      ConcurrentSkipListMap<K,​V> clone()
      ConcurrentSkipListMapのインスタンスのシャロー・コピーを返します。
      V compute​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction)
      指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull)。
      V computeIfAbsent​(K key, Function<? super K,​? extends V> mappingFunction)
      指定されたキーがまだ値に関連付けられていない場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。
      V computeIfPresent​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction)
      指定されたキーの値が存在する場合、キーと現在マップされている値から新しいマッピングの計算を試みます。
      boolean containsKey​(Object key)
      指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
      boolean containsValue​(Object value)
      このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
      Set<Map.Entry<K,​V>> entrySet()
      このマップに含まれるマッピングのSetビューを返します。
      boolean equals​(Object o)
      指定されたオブジェクトがこのマップと等しいかどうかを比較します。
      Map.Entry<K,​V> firstEntry()
      このマップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
      K firstKey()
      マップ内に現在ある最初(下端)のキーを返します。
      Map.Entry<K,​V> floorEntry​(K key)
      指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K floorKey​(K key)
      指定されたキーと等しいかそれよりも小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
      V get​(Object key)
      指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。
      V getOrDefault​(Object key, V defaultValue)
      指定されたキーがマップされる値を返します。このマップにそのキーのマッピングが含まれていない場合は、指定されたdefaultValueを返します。
      ConcurrentNavigableMap<K,​V> headMap​(K toKey)
      このマップのtoKeyよりも確実に小さいキーを持つ部分のビューを返します。
      ConcurrentNavigableMap<K,​V> headMap​(K toKey, boolean inclusive)
      このマップのtoKeyよりも小さいキー(inclusiveがtrueの場合はそれよりも小さいかそれと等しいキー)を含む部分のビューを返します。
      Map.Entry<K,​V> higherEntry​(K key)
      指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K higherKey​(K key)
      指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
      NavigableSet<K> keySet()
      このマップに含まれるキーのNavigableSetビューを返します。
      Map.Entry<K,​V> lastEntry()
      このマップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
      K lastKey()
      マップ内に現在ある最後(上端)のキーを返します。
      Map.Entry<K,​V> lowerEntry​(K key)
      指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K lowerKey​(K key)
      指定されたキーよりも確実に小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
      V merge​(K key, V value, BiFunction<? super V,​? super V,​? extends V> remappingFunction)
      指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。
      Map.Entry<K,​V> pollFirstEntry()
      このマップ内の最小のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
      Map.Entry<K,​V> pollLastEntry()
      このマップ内の最大のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
      V put​(K key, V value)
      指定された値と指定されたキーをこのマップに関連付けます。
      V putIfAbsent​(K key, V value)
      指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。
      V remove​(Object key)
      指定されたキーのマッピングがあればマップから削除します。
      boolean remove​(Object key, Object value)
      指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。
      V replace​(K key, V value)
      キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
      boolean replace​(K key, V oldValue, V newValue)
      指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。
      ConcurrentNavigableMap<K,​V> subMap​(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
      このマップのfromKey - toKeyのキー範囲を持つ部分のビューを返します。
      ConcurrentNavigableMap<K,​V> subMap​(K fromKey, K toKey)
      このマップのfromKey (これを含む) - toKey (これを含まない)のキー範囲を持つ部分のビューを返します。
      ConcurrentNavigableMap<K,​V> tailMap​(K fromKey)
      このマップのfromKey以上のキーを持つ部分のビューを返します。
      ConcurrentNavigableMap<K,​V> tailMap​(K fromKey, boolean inclusive)
      このマップのfromKeyよりも大きいキー(inclusiveがtrueの場合はそれよりも大きいかそれと等しいキー)を含む部分のビューを返します。
      Collection<V> values()
      このマップに含まれる値のCollectionビューを返します。
    • コンストラクタの詳細

      • ConcurrentSkipListMap

        public ConcurrentSkipListMap()
        キーの自然順序付けに従ってソートされた、新しい空のマップを作成します。
      • ConcurrentSkipListMap

        public ConcurrentSkipListMap​(Comparator<? super K> comparator)
        指定されたコンパレータに従ってソートされた、新しい空のマップを作成します。
        パラメータ:
        comparator - このマップの順序付けを行うために使用されるコンパレータ。 nullの場合、キーの自然順序付けが使用される。
      • ConcurrentSkipListMap

        public ConcurrentSkipListMap​(Map<? extends K,​? extends V> m)
        指定されたマップと同じマッピングを持ち、キーの自然順序付けに従ってソートされた新しいマップを構築します。
        パラメータ:
        m - マッピングがこのマップに配置されるマップ
        例外:
        ClassCastException - m内のキーがComparableでないか、または相互に比較可能でない場合
        NullPointerException - 指定されたマップ、またはそのキーと値のいずれかがnullの場合
      • ConcurrentSkipListMap

        public ConcurrentSkipListMap​(SortedMap<K,​? extends V> m)
        指定されたソート・マップと同じマッピングを持ち、同じ順序付けを使用する、新しいマップを構築します。
        パラメータ:
        m - マッピングがこのマップに配置され、コンパレータがこのマップのソートに使用される、ソートされたマップ
        例外:
        NullPointerException - 指定されたソートされたマップ、またはそのキーと値のいずれかがnullの場合
    • メソッドの詳細

      • clone

        public ConcurrentSkipListMap<K,​V> clone()
        ConcurrentSkipListMapのインスタンスのシャロー・コピーを返します。 そのキーと値は複製されません。
        オーバーライド:
        クラスAbstractMap<K,​V>clone
        戻り値:
        このマップのシャロー・コピー
        関連項目:
        Cloneable
      • containsKey

        public boolean containsKey​(Object key)
        指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
        定義:
        インタフェースMap<K,​V>内のcontainsKey
        オーバーライド:
        クラスAbstractMap<K,​V>containsKey
        パラメータ:
        key - このマップ内にあるかどうかが判定されるキー
        戻り値:
        指定されたキーのマッピングがこのマップに含まれている場合はtrue
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • get

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

        つまり、マップの順序付けに従ってkeykに等しくなるような、キーkから値vへのマッピングがこのマップに含まれている場合、このメソッドはvを返します。それ以外の場合は、nullを返します。 このようなマッピングは1つのみ存在できます。

        定義:
        インタフェースMap<K,​V>内のget
        オーバーライド:
        クラスAbstractMap<K,​V>get
        パラメータ:
        key - 関連付けられた値が返される鍵
        戻り値:
        指定されたキーがマップされている値。そのキーのマッピングがこのマップに含まれていない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • getOrDefault

        public V getOrDefault​(Object key,
                              V defaultValue)
        指定されたキーがマップされる値を返します。このマップにそのキーのマッピングが含まれていない場合は、指定されたdefaultValueを返します。
        定義:
        インタフェースConcurrentMap<K,​V>内のgetOrDefault
        定義:
        インタフェースMap<K,​V>内のgetOrDefault
        パラメータ:
        key - キー
        defaultValue - このマップに指定されたキーのマッピングが含まれていない場合に返す値
        戻り値:
        存在する場合はキーのマッピング。それ以外の場合はdefaultValue
        例外:
        NullPointerException - 指定されたキーがnullである場合
        導入されたバージョン:
        1.8
      • put

        public V put​(K key,
                     V value)
        指定された値と指定されたキーをこのマップに関連付けます。 マップが以前にこのキーのマッピングを保持していた場合、古い値が置き換えられます。
        定義:
        インタフェースMap<K,​V>内のput
        オーバーライド:
        クラスAbstractMap<K,​V>put
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 指定された鍵に関連付けられる値
        戻り値:
        指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーまたは値がnullの場合
      • remove

        public V remove​(Object key)
        指定されたキーのマッピングがあればマップから削除します。
        定義:
        インタフェースMap<K,​V>内のremove
        オーバーライド:
        クラスAbstractMap<K,​V>remove
        パラメータ:
        key - マッピングを削除する必要があるキー
        戻り値:
        指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • containsValue

        public boolean containsValue​(Object value)
        このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。 このオペレーションはマップのサイズに正比例した時間がかかります。 さらに、このメソッドの実行中にマップが変更される可能性があり、その場合は返される結果が不正確になることがあります。
        定義:
        インタフェースMap<K,​V>内のcontainsValue
        オーバーライド:
        クラスAbstractMap<K,​V>containsValue
        パラメータ:
        value - このマップにあるかどうかが判定される値
        戻り値:
        valueへのマッピングが存在する場合はtrue。それ以外の場合はfalse
        例外:
        NullPointerException - 指定された値がnullである場合
      • clear

        public void clear()
        すべてのマッピングをマップから削除します。
        定義:
        インタフェースMap<K,​V>内のclear
        オーバーライド:
        クラスAbstractMap<K,​V>clear
      • computeIfAbsent

        public V computeIfAbsent​(K key,
                                 Function<? super K,​? extends V> mappingFunction)
        指定されたキーがまだ値に関連付けられていない場合、指定されたマッピング関数を使用してその値の計算を試行し、nullでない場合はそれをこのマップに入力します。 値が存在しない場合にのみこの関数が原子的に1回適用されるという保証はありません
        定義:
        インタフェースConcurrentMap<K,​V>内のcomputeIfAbsent
        定義:
        インタフェースMap<K,​V>内のcomputeIfAbsent
        パラメータ:
        key - 指定された値が関連付けられるキー
        mappingFunction - 値を計算するための関数
        戻り値:
        指定されたキーに関連付けられている現在の(既存の、または計算された)値。計算された値がnullである場合はnull
        例外:
        NullPointerException - 指定されたキーがnullであるか、またはmappingFunctionがnullである場合
        導入されたバージョン:
        1.8
      • computeIfPresent

        public V computeIfPresent​(K key,
                                  BiFunction<? super K,​? super V,​? extends V> remappingFunction)
        指定されたキーの値が存在する場合、キーと現在マップされている値から新しいマッピングの計算を試みます。 この関数が原子的に1回適用されるという保証はありません
        定義:
        インタフェースConcurrentMap<K,​V>内のcomputeIfPresent
        定義:
        インタフェースMap<K,​V>内のcomputeIfPresent
        パラメータ:
        key - 値を関連付けることができるキー
        remappingFunction - 値を計算するための関数
        戻り値:
        指定されたキーに関連付けられる新しい値。存在しない場合はnull
        例外:
        NullPointerException - 指定されたキーがnullであるか、またはremappingFunctionがnullである場合
        導入されたバージョン:
        1.8
      • compute

        public V compute​(K key,
                         BiFunction<? super K,​? super V,​? extends V> remappingFunction)
        指定されたキーと現在マップされている値に対するマッピングの計算を試みます(現在のマッピングが存在しない場合はnull)。 この関数が原子的に1回適用されるという保証はありません
        定義:
        インタフェースConcurrentMap<K,​V>内のcompute
        定義:
        インタフェースMap<K,​V>内のcompute
        パラメータ:
        key - 指定された値が関連付けられるキー
        remappingFunction - 値を計算するための関数
        戻り値:
        指定されたキーに関連付けられる新しい値。存在しない場合はnull
        例外:
        NullPointerException - 指定されたキーがnullであるか、またはremappingFunctionがnullである場合
        導入されたバージョン:
        1.8
      • merge

        public V merge​(K key,
                       V value,
                       BiFunction<? super V,​? super V,​? extends V> remappingFunction)
        指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。 それ以外の場合は、指定された再マッピング関数の結果で値を置換し、nullの場合は削除します。 この関数が原子的に1回適用されるという保証はありません
        定義:
        インタフェースConcurrentMap<K,​V>内のmerge
        定義:
        インタフェースMap<K,​V>内のmerge
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 値が存在しない場合に使用する値
        remappingFunction - 値が存在する場合に値を再計算するための関数
        戻り値:
        指定されたキーに関連付けられる新しい値。存在しない場合はnull
        例外:
        NullPointerException - 指定されたキーまたは値がnullであるか、あるいはremappingFunctionがnullである場合
        導入されたバージョン:
        1.8
      • keySet

        public NavigableSet<K> keySet()
        このマップに含まれるキーのNavigableSetビューを返します。

        セットのイテレータは、キーを昇順で返します。 セットのスプリッテレータはさらに、Spliterator.CONCURRENTSpliterator.NONNULLSpliterator.SORTEDおよびSpliterator.ORDERED(キーの昇順である検出順序で)を報告します。

        「マップ・コンパレータ」nullの場合、「コンパレータ」nullです。 それ以外の場合、スプリッテレータのコンパレータはマップのコンパレータと同じであるか、同じ全体順序付けを義務付けます。

        セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAll操作はサポートされていません。

        ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています

        このメソッドは、メソッドnavigableKeySetと同等です。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のkeySet
        定義:
        インタフェースMap<K,​V>内のkeySet
        定義:
        インタフェースSortedMap<K,​V>内のkeySet
        オーバーライド:
        クラスAbstractMap<K,​V>keySet
        戻り値:
        このマップ内のキーのナビゲート可能なセット・ビュー
      • values

        public Collection<V> values()
        このマップに含まれる値のCollectionビューを返します。

        コレクションのイテレータは、値を対応するキーの昇順で返します。 コレクションのスプリッテレータはさらに、Spliterator.CONCURRENTSpliterator.NONNULLおよびSpliterator.ORDERED(キーの昇順である検出順序で)を報告します。

        コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeCollection.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。

        ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています

        定義:
        インタフェースMap<K,​V>内のvalues
        定義:
        インタフェースSortedMap<K,​V>内のvalues
        オーバーライド:
        クラスAbstractMap<K,​V>values
        戻り値:
        マップ内に含まれている値のコレクション・ビュー
      • entrySet

        public Set<Map.Entry<K,​V>> entrySet()
        このマップに含まれるマッピングのSetビューを返します。

        セットのイテレータは、エントリをキーの昇順で返します。 セットのスプリッテレータはさらに、Spliterator.CONCURRENTSpliterator.NONNULLSpliterator.SORTEDおよびSpliterator.ORDERED(キーの昇順である検出順序で)を報告します。

        セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。

        ビューのイテレータおよびスプリッテレータは、弱一貫性を持っています

        iteratorまたはspliteratorによってトラバースされるMap.Entryの要素は、setValueオペレーションをサポートしません

        定義:
        インタフェースMap<K,​V>内のentrySet
        定義:
        インタフェースSortedMap<K,​V>内のentrySet
        戻り値:
        マップに含まれているマッピングの、キーの昇順にソートされたセット・ビュー
      • equals

        public boolean equals​(Object o)
        指定されたオブジェクトがこのマップと等しいかどうかを比較します。 指定されたオブジェクトもマップであり、2つのマップが同じマッピングを表す場合にtrueを返します。 つまり、m1.entrySet().equals(m2.entrySet())である場合、2つのマップm1m2は同じマッピングを表します。 このオペレーションは、マップのいずれかがこのメソッドの実行中に並行して変更された場合、誤解を招きやすい結果を返すことがあります。
        定義:
        インタフェースMap<K,​V>内のequals
        オーバーライド:
        クラスAbstractMap<K,​V>equals
        パラメータ:
        o - このマップと等しいかどうかが比較されるオブジェクト
        戻り値:
        指定されたオブジェクトがこのマップと等しい場合はtrue
        関連項目:
        Object.hashCode()HashMap
      • putIfAbsent

        public V putIfAbsent​(K key,
                             V value)
        指定されたキーがまだ値と関連付けられていない場合は、指定された値に関連付けます。 これは、このmapの場合と同じです:
         
         if (!map.containsKey(key))
           return map.put(key, value);
         else
           return map.get(key);
        ただし、アクションが原子的に実行される点が異なります。
        定義:
        インタフェースConcurrentMap<K,​V>内のputIfAbsent
        定義:
        インタフェースMap<K,​V>内のputIfAbsent
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 指定された鍵に関連付けられる値
        戻り値:
        指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーまたは値がnullの場合
      • remove

        public boolean remove​(Object key,
                              Object value)
        指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを削除します。 これは、このmapの場合と同じです:
         
         if (map.containsKey(key)
             && Objects.equals(map.get(key), value)) {
           map.remove(key);
           return true;
         } else {
           return false;
         }
        ただし、アクションが原子的に実行される点が異なります。
        定義:
        インタフェースConcurrentMap<K,​V>内のremove
        定義:
        インタフェースMap<K,​V>内のremove
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 指定されたキーに関連付けられていると予想される値
        戻り値:
        値が削除された場合はtrue
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • replace

        public boolean replace​(K key,
                               V oldValue,
                               V newValue)
        指定された値にキーが現在マッピングされている場合にのみ、そのキーのエントリを置換します。 これは、このmapの場合と同じです:
         
         if (map.containsKey(key)
             && Objects.equals(map.get(key), oldValue)) {
           map.put(key, newValue);
           return true;
         } else {
           return false;
         }
        ただし、アクションが原子的に実行される点が異なります。
        定義:
        インタフェースConcurrentMap<K,​V>内のreplace
        定義:
        インタフェースMap<K,​V>内のreplace
        パラメータ:
        key - 指定された値が関連付けられるキー
        oldValue - 指定されたキーに関連付けられていると予想される値
        newValue - 指定されたキーに関連付けられる値
        戻り値:
        値が置換された場合はtrue
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 引数が1つでもnullの場合
      • replace

        public V replace​(K key,
                         V value)
        キーが値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。 これは、このmapの場合と同じです:
         
         if (map.containsKey(key))
           return map.put(key, value);
         else
           return null;
        ただし、アクションが原子的に実行される点が異なります。
        定義:
        インタフェースConcurrentMap<K,​V>内のreplace
        定義:
        インタフェースMap<K,​V>内のreplace
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 指定された鍵に関連付けられる値
        戻り値:
        指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーまたは値がnullの場合
      • firstKey

        public K firstKey()
        インタフェースからコピーされた説明: SortedMap
        マップ内に現在ある最初(下端)のキーを返します。
        定義:
        インタフェースSortedMap<K,​V>内のfirstKey
        戻り値:
        マップ内に現在ある最初(下端)のキー
        例外:
        NoSuchElementException - マップが空の場合
      • lastKey

        public K lastKey()
        インタフェースからコピーされた説明: SortedMap
        マップ内に現在ある最後(上端)のキーを返します。
        定義:
        インタフェースSortedMap<K,​V>内のlastKey
        戻り値:
        マップ内に現在ある最後(上端)のキー
        例外:
        NoSuchElementException - マップが空の場合
      • subMap

        public ConcurrentNavigableMap<K,​V> subMap​(K fromKey,
                                                        boolean fromInclusive,
                                                        K toKey,
                                                        boolean toInclusive)
        インタフェースからコピーされた説明: NavigableMap
        このマップのfromKey - toKeyのキー範囲を持つ部分のビューを返します。 fromKeytoKeyが等しい場合、返されるマップは、fromInclusivetoInclusiveの両方がtrueでないかぎり、空になります。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとしたり、端点のいずれかがその範囲外にあるようなサブマップが構築されようとしたりすると、IllegalArgumentExceptionをスローします。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のsubMap
        定義:
        インタフェースNavigableMap<K,​V>内のsubMap
        パラメータ:
        fromKey - 返されるマップ内のキーの下端点
        fromInclusive - 返されるビューに下端点が含まれる場合はtrue
        toKey - 返されるマップ内のキーの上端点
        toInclusive - 返されるビューに上端点が含まれる場合はtrue
        戻り値:
        このマップのfromKey - toKeyのキー範囲を持つ部分のビュー
        例外:
        ClassCastException - このマップのコンパレータを使用して(このマップがコンパレータを持たない場合は自然順序付けを使用して)、fromKeytoKeyを相互に比較できない場合。 実装は、マップ内に現在存在しているキーとfromKeyまたはtoKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
        NullPointerException - fromKeyまたはtoKeyがnullである場合
        IllegalArgumentException - fromKeytoKeyよりも大きい場合、またはこのマップ自体が制限された範囲を持っており、fromKeyまたはtoKeyがその範囲から外れている場合
      • headMap

        public ConcurrentNavigableMap<K,​V> headMap​(K toKey,
                                                         boolean inclusive)
        インタフェースからコピーされた説明: NavigableMap
        このマップのtoKeyよりも小さいキー(inclusiveがtrueの場合はそれよりも小さいかそれと等しいキー)を含む部分のビューを返します。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentExceptionをスローします。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のheadMap
        定義:
        インタフェースNavigableMap<K,​V>内のheadMap
        パラメータ:
        toKey - 返されるマップ内のキーの上端点
        inclusive - 返されるビューに上端点が含まれる場合はtrue
        戻り値:
        このマップのtoKeyよりも小さいキー(inclusiveがtrueの場合はそれよりも小さいかそれと等しいキー)を含む部分のビュー
        例外:
        ClassCastException - toKeyがこのマップのコンパレータと互換性がない場合(または、そのマップがコンパレータを持たない場合、toKeyComparableを実装していない場合)。 実装は、マップ内に現在存在しているキーとtoKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない
        NullPointerException - toKeyがnullである場合
        IllegalArgumentException - このマップ自体が制限された範囲を持っており、toKeyがその範囲から外れている場合
      • tailMap

        public ConcurrentNavigableMap<K,​V> tailMap​(K fromKey,
                                                         boolean inclusive)
        インタフェースからコピーされた説明: NavigableMap
        このマップのfromKeyよりも大きいキー(inclusiveがtrueの場合はそれよりも大きいかそれと等しいキー)を含む部分のビューを返します。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentExceptionをスローします。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のtailMap
        定義:
        インタフェースNavigableMap<K,​V>内のtailMap
        パラメータ:
        fromKey - 返されるマップ内のキーの下端点
        inclusive - 返されるビューに下端点が含まれる場合はtrue
        戻り値:
        このマップのfromKeyよりも大きいキー(inclusiveがtrueの場合はそれよりも大きいかそれと等しいキー)を含む部分のビュー
        例外:
        ClassCastException - fromKeyがこのマップのコンパレータと互換性がない場合(または、そのマップがコンパレータを持たない場合、fromKeyComparableを実装していない場合)。 実装は、マップ内に現在存在しているキーとfromKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない
        NullPointerException - fromKeyがnullである場合
        IllegalArgumentException - このマップ自体が制限された範囲を持っており、fromKeyがその範囲から外れている場合
      • subMap

        public ConcurrentNavigableMap<K,​V> subMap​(K fromKey,
                                                        K toKey)
        インタフェースからコピーされた説明: NavigableMap
        このマップのfromKey (これを含む) - toKey (これを含まない)のキー範囲を持つ部分のビューを返します。 fromKeytoKeyが等しい場合は、空のマップが返されます。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentExceptionをスローします。

        subMap(fromKey, true, toKey, false)と同等です。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のsubMap
        定義:
        インタフェースNavigableMap<K,​V>内のsubMap
        定義:
        インタフェースSortedMap<K,​V>内のsubMap
        パラメータ:
        fromKey - 返されるマップ内のキーの下端点(これを含む)
        toKey - 返されるマップ内のキーの上端点(これを含まない)
        戻り値:
        このマップのfromKey (これを含む)からtoKey (これを含まない)のキー範囲を持つ部分のビュー
        例外:
        ClassCastException - このマップのコンパレータを使用して(このマップがコンパレータを持たない場合は自然順序付けを使用して)、fromKeytoKeyを相互に比較できない場合。 実装は、マップ内に現在存在しているキーとfromKeyまたはtoKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
        NullPointerException - fromKeyまたはtoKeyがnullである場合
        IllegalArgumentException - fromKeytoKeyよりも大きい場合、またはこのマップ自体が制限された範囲を持っており、fromKeyまたはtoKeyがその範囲から外れている場合
      • headMap

        public ConcurrentNavigableMap<K,​V> headMap​(K toKey)
        インタフェースからコピーされた説明: NavigableMap
        このマップのtoKeyよりも確実に小さいキーを持つ部分のビューを返します。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentExceptionをスローします。

        headMap(toKey, false)と同等です。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のheadMap
        定義:
        インタフェースNavigableMap<K,​V>内のheadMap
        定義:
        インタフェースSortedMap<K,​V>内のheadMap
        パラメータ:
        toKey - 返されるマップ内のキーの上端点(これを含まない)
        戻り値:
        このマップのtoKeyよりも確実に小さいキーを持つ部分のビュー
        例外:
        ClassCastException - toKeyがこのマップのコンパレータと互換性がない場合(または、そのマップがコンパレータを持たない場合、toKeyComparableを実装していない場合)。 実装は、マップ内に現在存在しているキーとtoKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない
        NullPointerException - toKeyがnullである場合
        IllegalArgumentException - このマップ自体が制限された範囲を持っており、toKeyがその範囲から外れている場合
      • tailMap

        public ConcurrentNavigableMap<K,​V> tailMap​(K fromKey)
        インタフェースからコピーされた説明: NavigableMap
        このマップのfromKey以上のキーを持つ部分のビューを返します。 返されるマップはこのマップに連動しており、返されるマップでの変更はこのマップに反映され、その逆の場合も同様です。 返されるマップは、このマップがサポートするオプションのマップ・オペレーションをすべてサポートします。

        返されるマップは、その範囲外のキーが挿入されようとすると、IllegalArgumentExceptionをスローします。

        tailMap(fromKey, true)と同等です。

        定義:
        インタフェースConcurrentNavigableMap<K,​V>内のtailMap
        定義:
        インタフェースNavigableMap<K,​V>内のtailMap
        定義:
        インタフェースSortedMap<K,​V>内のtailMap
        パラメータ:
        fromKey - 返されるマップ内のキーの下端点(これを含む)
        戻り値:
        このマップのfromKey以上のキーを持つ部分のビュー
        例外:
        ClassCastException - fromKeyがこのマップのコンパレータと互換性がない場合(または、そのマップがコンパレータを持たない場合、fromKeyComparableを実装していない場合)。 実装は、マップ内に現在存在しているキーとfromKeyとを比較できない場合にこの例外をスローできる。ただし、必須ではない
        NullPointerException - fromKeyがnullである場合
        IllegalArgumentException - このマップ自体が制限された範囲を持っており、fromKeyがその範囲から外れている場合
      • lowerEntry

        public Map.Entry<K,​V> lowerEntry​(K key)
        指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のlowerEntry
        パラメータ:
        key - キー
        戻り値:
        keyよりも小さいキーの中で最大のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • lowerKey

        public K lowerKey​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーよりも確実に小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
        定義:
        インタフェースNavigableMap<K,​V>内のlowerKey
        パラメータ:
        key - キー
        戻り値:
        keyよりも小さいキーの中で最大のもの。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • floorEntry

        public Map.Entry<K,​V> floorEntry​(K key)
        指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のfloorEntry
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも小さいキーの中で最大のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • floorKey

        public K floorKey​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーと等しいかそれよりも小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
        定義:
        インタフェースNavigableMap<K,​V>内のfloorKey
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも小さいキーの中で最大のもの。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • ceilingEntry

        public Map.Entry<K,​V> ceilingEntry​(K key)
        指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなエントリが存在しない場合は、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のceilingEntry
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも大きいキーの中で最小のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • ceilingKey

        public K ceilingKey​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーと等しいかそれよりも大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
        定義:
        インタフェースNavigableMap<K,​V>内のceilingKey
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも大きいキーの中で最小のもの。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • higherEntry

        public Map.Entry<K,​V> higherEntry​(K key)
        指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のhigherEntry
        パラメータ:
        key - キー
        戻り値:
        keyよりも大きいキーの中で最小のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • higherKey

        public K higherKey​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
        定義:
        インタフェースNavigableMap<K,​V>内のhigherKey
        パラメータ:
        key - キー
        戻り値:
        keyよりも大きいキーの中で最小のもの。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullである場合
      • firstEntry

        public Map.Entry<K,​V> firstEntry()
        このマップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のfirstEntry
        戻り値:
        最小のキーを持つエントリ。このマップが空の場合はnull
      • lastEntry

        public Map.Entry<K,​V> lastEntry()
        このマップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のlastEntry
        戻り値:
        最大のキーを持つエントリ。このマップが空の場合はnull
      • pollFirstEntry

        public Map.Entry<K,​V> pollFirstEntry()
        このマップ内の最小のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のpollFirstEntry
        戻り値:
        このマップの削除された最初のエントリ。このマップが空の場合はnull
      • pollLastEntry

        public Map.Entry<K,​V> pollLastEntry()
        このマップ内の最大のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。 返されるエントリは、Entry.setValueメソッドをサポートしません
        定義:
        インタフェースNavigableMap<K,​V>内のpollLastEntry
        戻り値:
        このマップの削除された最後のエントリ。このマップが空の場合はnull