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

クラスTreeMap<K,V>

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


    public class TreeMap<K,V>
    extends AbstractMap<K,V>
    implements NavigableMap<K,V>, Cloneable, Serializable
    赤 - 黒ツリーに基づくNavigableMap実装です。 マップは、使用するコンストラクタに応じて、そのキーの自然順序付けに従って、またはマップ作成時に提供されるComparatorによってソートされます。

    この実装は、containsKeygetputremoveの各オペレーションに保証済みのlog(n)時間コストを提供します。 アルゴリズムは、Cormen、Leiserson、Rivestの「Introduction to Algorithms」のものに手を加えています。

    ソート・マップの場合と同様に、あるツリー・マップがMapインタフェースを正しく実装するには、明示的なコンパレータが提供されているかどうかにかかわらず、そのツリー・マップによって維持される順序付けがequalsとの一貫性のあるものでなければいけないことに注意してください。 (equalsとの一貫性の正確な定義については、ComparableまたはComparatorを参照してください。) これはMapインタフェースがequalsオペレーションに基づいて定義されるためですが、ソート・マップはその compareTo (またはcompare)メソッドを使用してすべてのキー比較を実行するので、このメソッドによって等しいと見なされる2つのキーは、ソート・マップから見ても同じものです。 ソート・マップの動作は、その順序付けがequalsと一貫性がない場合でも明確に定義されていますが、Mapインタフェースの一般規約には準拠していません。

    この実装はsynchronizedされません。 複数のスレッドが並行してマップにアクセスし、それらのスレッドの少なくとも1つが構造的にマップを変更する場合には、外部で同期をとる必要があります 構造的な変更とは、1つ以上のマッピングを追加または削除するようなオペレーションです。既存のキーに関連付けられている値を変更する処理は、構造的な変更ではありません。 これは通常、マップを自然にカプセル化する一部のオブジェクトでsynchronizedすることによって達成されます。 そのようなオブジェクトが存在しない場合は、Collections.synchronizedSortedMapメソッドを使用してマップを「ラップ」することをお薦めします。 マップが誤ってsynchronizedなしでアクセスされるのを防ぐために、作成時に行うことをお薦めします。

       SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));

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

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

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

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

    導入されたバージョン:
    1.2
    関連項目:
    Map, HashMap, Hashtable, Comparable, Comparator, Collection, 直列化された形式
    • コンストラクタのサマリー

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

      すべてのメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Map.Entry<K,V> ceilingEntry​(K key)
      指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K ceilingKey​(K key)
      指定されたキーと等しいかそれよりも大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
      void clear​()
      すべてのマッピングをマップから削除します。
      Object clone​()
      TreeMapのインスタンスのシャロー・コピーを返します。
      Comparator<? super K> comparator​()
      このマップ内のキーを順序付けするのに使うコンパレータを返します。ただし、このマップがそのキーの自然順序付けを使う場合はnullを返します。
      boolean containsKey​(Object key)
      指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
      boolean containsValue​(Object value)
      このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
      NavigableSet<K> descendingKeySet​()
      このマップに含まれるキーの逆順のNavigableSetビューを返します。
      NavigableMap<K,V> descendingMap​()
      このマップ内に保持されているマッピングの逆順のビューを返します。
      Set<Map.Entry<K,V>> entrySet​()
      このマップに含まれるマッピングのSetビューを返します。
      Map.Entry<K,V> firstEntry​()
      このマップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
      K firstKey​()
      マップ内に現在ある最初(下端)のキーを返します。
      Map.Entry<K,V> floorEntry​(K key)
      指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K floorKey​(K key)
      指定されたキーと等しいかそれよりも小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
      void forEach​(BiConsumer<? super K,? super V> action)
      このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。
      V get​(Object key)
      指定されたキーがマップされている値を返します。このマップにそのキーのマッピングが含まれていない場合はnullを返します。
      SortedMap<K,V> headMap​(K toKey)
      このマップのtoKeyよりも確実に小さいキーを持つ部分のビューを返します。
      NavigableMap<K,V> headMap​(K toKey, boolean inclusive)
      このマップのtoKeyよりも小さいキー(inclusiveがtrueの場合はそれよりも小さいかそれと等しいキー)を含む部分のビューを返します。
      Map.Entry<K,V> higherEntry​(K key)
      指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K higherKey​(K key)
      指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
      Set<K> keySet​()
      このマップに含まれるキーのSetビューを返します。
      Map.Entry<K,V> lastEntry​()
      このマップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
      K lastKey​()
      マップ内に現在ある最後(上端)のキーを返します。
      Map.Entry<K,V> lowerEntry​(K key)
      指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
      K lowerKey​(K key)
      指定されたキーよりも確実に小さいキーの中で最大のものを返します。そのようなキーが存在しない場合はnullを返します。
      NavigableSet<K> navigableKeySet​()
      このマップに含まれるキーのNavigableSetビューを返します。
      Map.Entry<K,V> pollFirstEntry​()
      このマップ内の最小のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
      Map.Entry<K,V> pollLastEntry​()
      このマップ内の最大のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
      V put​(K key, V value)
      指定された値と指定されたキーをこのマップに関連付けます。
      void putAll​(Map<? extends K,? extends V> map)
      指定されたマップからすべてのマッピングをマップにコピーします。
      V remove​(Object key)
      キーのマッピングがあればTreeMapから削除します。
      V replace​(K key, V value)
      指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
      boolean replace​(K key, V oldValue, V newValue)
      指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
      void replaceAll​(BiFunction<? super K,? super V,? extends V> function)
      すべてのエントリが処理されるか、または関数が例外をスローするまで、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。
      int size​()
      このマップ内のキー値マッピングの数を返します。
      NavigableMap<K,V> subMap​(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
      このマップのfromKey - toKeyのキー範囲を持つ部分のビューを返します。
      SortedMap<K,V> subMap​(K fromKey, K toKey)
      このマップのfromKey (これを含む) - toKey (これを含まない)のキー範囲を持つ部分のビューを返します。
      SortedMap<K,V> tailMap​(K fromKey)
      このマップのfromKey以上のキーを持つ部分のビューを返します。
      NavigableMap<K,V> tailMap​(K fromKey, boolean inclusive)
      このマップのfromKeyよりも大きいキー(inclusiveがtrueの場合はそれよりも大きいかそれと等しいキー)を含む部分のビューを返します。
      Collection<V> values​()
      このマップに含まれる値のCollectionビューを返します。
    • コンストラクタの詳細

      • TreeMap

        public TreeMap​()
        キーの自然順序付けを使って、新しい空のツリー・マップを構築します。 このマップに挿入されるキーはすべてComparableインタフェースを実装する必要があります。 さらに、各キーは相互に比較可能である必要があります。つまり、k1.compareTo(k2)は、マップ内のk1k2のどのキーに対してもClassCastExceptionをスローすべきではありません。 たとえばキーが整数のマップに文字列キーを入れようとするなど、ユーザーがこの制約に違反するキーをマップに入れようとすると、put(Object key, Object value)の呼出しがClassCastExceptionをスローします。
      • TreeMap

        public TreeMap​(Comparator<? super K> comparator)
        指定されたコンパレータに従って順序付けされた、新しい空のツリー・マップを作成します。 マップに挿入されたすべてのキーは、指定されたコンパレータによって相互に比較可能である必要があります。つまり、マップ内の任意のキーk1k2に対して、comparator.compare(k1, k2)ClassCastExceptionをスローしてはいけません。 ユーザーがこの制約に違反するキーをマップに入れようとすると、put(Object key, Object value)の呼出しがClassCastExceptionをスローします。
        パラメータ:
        comparator - このマップの順序付けを行うために使用されるコンパレータ。 nullの場合、キーの自然順序付けが使用される。
      • TreeMap

        public TreeMap​(Map<? extends K,? extends V> m)
        指定されたマップと同じマッピングを持ち、そのキーの自然順序付けに従って順序付けされた新しいツリー・マップを作成します。 新しいマップに挿入されるキーはすべてComparableインタフェースを実装する必要があります。 さらに、各キーは相互に比較可能である必要があります。つまり、k1.compareTo(k2)は、マップ内のk1k2のどのキーに対してもClassCastExceptionをスローすべきではありません。 このメソッドは、n*log(n)時間で実行されます。
        パラメータ:
        m - マッピングがこのマップに配置されるマップ
        例外:
        ClassCastException- m内のキーがComparableでないか、または相互に比較可能でない場合
        NullPointerException - 指定されたマップがnullの場合
      • TreeMap

        public TreeMap​(SortedMap<K,? extends V> m)
        指定されたソート・マップと同じマッピングを持ち、同じ順序付けを使用する新しいツリー・マップを作成します。 このメソッドは一次時間で動作します。
        パラメータ:
        m - マッピングがこのマップに配置され、コンパレータがこのマップのソートに使用される、ソートされたマップ
        例外:
        NullPointerException - 指定されたマップがnullの場合
    • メソッドの詳細

      • size

        public int size​()
        このマップ内のキー値マッピングの数を返します。
        定義:
        size、インタフェース: Map<K,V>
        オーバーライド:
        size、クラス: AbstractMap<K,V>
        戻り値:
        このマップ内のキーと値のマッピングの数
      • containsKey

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

        public boolean containsValue​(Object value)
        このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。 つまり、このマップに(value==null ? v==null : value.equals(v))となるような値vへのマッピングが1つ以上ある場合に限りtrueを返します。 ほとんどの実装では、このオペレーションはマップのサイズに正比例した時間がかかると考えられます。
        定義:
        containsValue、インタフェース: Map<K,V>
        オーバーライド:
        containsValue、クラス: AbstractMap<K,V>
        パラメータ:
        value - このマップにあるかどうかが判定される値
        戻り値:
        valueへのマッピングが存在する場合はtrue。それ以外の場合はfalse
        導入されたバージョン:
        1.2
      • get

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

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

        戻り値nullは、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップすることもあります。 containsKeyオペレーションを使うと、これらの2つの場合を区別できます。

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

        public Comparator<? super K> comparator​()
        インタフェースからコピーされた説明: SortedMap
        このマップ内のキーを順序付けするのに使うコンパレータを返します。ただし、このマップがそのキーの自然順序付けを使う場合はnullを返します。
        定義:
        comparator、インタフェース: SortedMap<K,V>
        戻り値:
        このマップ内のキーを順序付けするのに使うコンパレータ。このマップがそのキーの自然順序付けを使う場合はnull
      • firstKey

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

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

        public void putAll​(Map<? extends K,? extends V> map)
        指定されたマップからすべてのマッピングをマップにコピーします。 これにより、マップが指定されたマップ内に現在あるキーのすべてに対して持っていたマッピングが置き換えられます。
        定義:
        putAll、インタフェース: Map<K,V>
        オーバーライド:
        putAll、クラス: AbstractMap<K,V>
        パラメータ:
        map - このマップに格納されるマッピング
        例外:
        ClassCastException - 指定されたマップ内のキーまたは値のクラスが原因で、このマップにそれらを格納できない場合
        NullPointerException - 指定されたマップがnullである場合、または指定されたマップにnullキーが含まれており、このマップがnullキーを許可しない場合
      • put

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

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

        public void clear​()
        すべてのマッピングをマップから削除します。 この呼出しが戻ると、マップは空になります。
        定義:
        clear、インタフェース: Map<K,V>
        オーバーライド:
        clear、クラス: AbstractMap<K,V>
      • clone

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

        public Map.Entry<K,V> firstEntry​()
        インタフェースからコピーされた説明: NavigableMap
        このマップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
        定義:
        firstEntry、インタフェース: NavigableMap<K,V>
        戻り値:
        最小のキーを持つエントリ。このマップが空の場合はnull
        導入されたバージョン:
        1.6
      • lastEntry

        public Map.Entry<K,V> lastEntry​()
        インタフェースからコピーされた説明: NavigableMap
        このマップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の場合、nullを返します。
        定義:
        lastEntry、インタフェース: NavigableMap<K,V>
        戻り値:
        最大のキーを持つエントリ。このマップが空の場合はnull
        導入されたバージョン:
        1.6
      • pollFirstEntry

        public Map.Entry<K,V> pollFirstEntry​()
        インタフェースからコピーされた説明: NavigableMap
        このマップ内の最小のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
        定義:
        pollFirstEntry、インタフェース: NavigableMap<K,V>
        戻り値:
        このマップの削除された最初のエントリ。このマップが空の場合はnull
        導入されたバージョン:
        1.6
      • pollLastEntry

        public Map.Entry<K,V> pollLastEntry​()
        インタフェースからコピーされた説明: NavigableMap
        このマップ内の最大のキーに関連付けられたキーと値のマッピングを削除し、返します。マップが空の場合、nullを返します。
        定義:
        pollLastEntry、インタフェース: NavigableMap<K,V>
        戻り値:
        このマップの削除された最後のエントリ。このマップが空の場合はnull
        導入されたバージョン:
        1.6
      • lowerEntry

        public Map.Entry<K,V> lowerEntry​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
        定義:
        lowerEntry、インタフェース: NavigableMap<K,V>
        パラメータ:
        key - キー
        戻り値:
        keyよりも小さいキーの中で最大のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullであり、このマップが自然順序付けを使用しているかそのコンパレータがnullキーを許可しない場合
        導入されたバージョン:
        1.6
      • lowerKey

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

        public Map.Entry<K,V> floorEntry​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
        定義:
        floorEntry、インタフェース: NavigableMap<K,V>
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも小さいキーの中で最大のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullであり、このマップが自然順序付けを使用しているかそのコンパレータがnullキーを許可しない場合
        導入されたバージョン:
        1.6
      • floorKey

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

        public Map.Entry<K,V> ceilingEntry​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
        定義:
        ceilingEntry、インタフェース: NavigableMap<K,V>
        パラメータ:
        key - キー
        戻り値:
        keyと等しいか、それよりも大きいキーの中で最小のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullであり、このマップが自然順序付けを使用しているかそのコンパレータがnullキーを許可しない場合
        導入されたバージョン:
        1.6
      • ceilingKey

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

        public Map.Entry<K,V> higherEntry​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない場合は、nullを返します。
        定義:
        higherEntry、インタフェース: NavigableMap<K,V>
        パラメータ:
        key - キー
        戻り値:
        keyよりも大きいキーの中で最小のものを持つエントリ。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullであり、このマップが自然順序付けを使用しているかそのコンパレータがnullキーを許可しない場合
        導入されたバージョン:
        1.6
      • higherKey

        public K higherKey​(K key)
        インタフェースからコピーされた説明: NavigableMap
        指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない場合はnullを返します。
        定義:
        higherKey、インタフェース: NavigableMap<K,V>
        パラメータ:
        key - キー
        戻り値:
        keyよりも大きいキーの中で最小のもの。そのようなキーが存在しない場合はnull
        例外:
        ClassCastException - 指定されたキーがマップ内に現在あるキーと比較できない場合
        NullPointerException - 指定されたキーがnullであり、このマップが自然順序付けを使用しているかそのコンパレータがnullキーを許可しない場合
        導入されたバージョン:
        1.6
      • keySet

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

        セットのイテレータは、キーを昇順で返します。 セットのスプリッテレータは遅延バインディングかつフェイルファストであり、さらにSpliterator.SORTEDおよびSpliterator.ORDERED (キーの昇順である検出順序で)を報告します。 ツリー・マップのコンパレータ(comparator()を参照)がnullである場合、スプリッテレータのコンパレータ(Spliterator.getComparator()を参照)はnullです。 それ以外の場合、スプリッテレータのコンパレータはツリー・マップのコンパレータと同じであるか、同じ全体順序付けを義務付けます。

        セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAllオペレーションはサポートされていません。

        定義:
        keySet、インタフェース: Map<K,V>
        定義:
        keySet、インタフェース: SortedMap<K,V>
        オーバーライド:
        keySet、クラス: AbstractMap<K,V>
        戻り値:
        マップに含まれているキーのセット・ビュー
      • navigableKeySet

        public NavigableSet<K> navigableKeySet​()
        インタフェースからコピーされた説明: NavigableMap
        このマップに含まれるキーのNavigableSetビューを返します。 セットのイテレータは、キーを昇順で返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身の remove操作を除く)。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAll操作はサポートされていません。
        定義:
        navigableKeySet、インタフェース: NavigableMap<K,V>
        戻り値:
        このマップ内のキーのナビゲート可能なセット・ビュー
        導入されたバージョン:
        1.6
      • descendingKeySet

        public NavigableSet<K> descendingKeySet​()
        インタフェースからコピーされた説明: NavigableMap
        このマップに含まれるキーの逆順のNavigableSetビューを返します。 セットのイテレータは、キーを降順で返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身の remove操作を除く)。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAll操作はサポートされていません。
        定義:
        descendingKeySet、インタフェース: NavigableMap<K,V>
        戻り値:
        このマップ内のキーのナビゲート可能な逆順セット・ビュー
        導入されたバージョン:
        1.6
      • values

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

        コレクションのイテレータは、値を対応するキーの昇順で返します。 コレクションのスプリッテレータは遅延バインディングかつフェイルファストであり、さらにSpliterator.ORDERED (対応するキーの昇順である検出順序で)を報告します。

        コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーションを除く)。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeCollection.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAllオペレーションはサポートされていません。

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

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

        セットのイテレータは、エントリをキーの昇順で返します。 セットのスプリッテレータは遅延バインディングかつフェイルファストであり、さらにSpliterator.SORTEDおよびSpliterator.ORDERED (キーの昇順である検出順序で)を報告します。

        セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーション、またはイテレータにより返されるマップ・エントリに対するsetValueオペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAllオペレーションはサポートされていません。

        定義:
        entrySet、インタフェース: Map<K,V>
        定義:
        entrySet、インタフェース: SortedMap<K,V>
        定義:
        entrySet、クラス: AbstractMap<K,V>
        戻り値:
        マップ内に保持されているマッピングのセット・ビュー
      • descendingMap

        public NavigableMap<K,V> descendingMap​()
        インタフェースからコピーされた説明: NavigableMap
        このマップ内に保持されているマッピングの逆順のビューを返します。 降順マップはこのマップに連動しており、このマップでの変更は降順マップに反映され、その逆の場合も同様です。 いずれかのマップのコレクション・ビューの反復処理中にいずれかのマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。

        返されるマップの順序付けは、Collections.reverseOrder(comparator())と同等になります。 m.descendingMap().descendingMap()から返されるmのビューは基本的にmと同等になります。

        定義:
        descendingMap、インタフェース: NavigableMap<K,V>
        戻り値:
        このマップの逆順のビュー
        導入されたバージョン:
        1.6
      • subMap

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public boolean replace​(K key,
                               V oldValue,
                               V newValue)
        インタフェースからコピーされた説明: Map
        指定されたキーが指定された値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
        定義:
        replace、インタフェース: Map<K,V>
        パラメータ:
        key - 指定された値が関連付けられるキー
        oldValue - 指定されたキーに関連付けられていると予想される値
        newValue - 指定されたキーに関連付けられる値
        戻り値:
        値が置換された場合はtrue
      • replace

        public V replace​(K key,
                         V value)
        インタフェースからコピーされた説明: Map
        指定されたキーがなんらかの値に現在マッピングされている場合にのみ、そのキーのエントリを置換します。
        定義:
        replace、インタフェース: Map<K,V>
        パラメータ:
        key - 指定された値が関連付けられるキー
        value - 指定されたキーに関連付けられる値
        戻り値:
        指定されたキーに関連付けられた以前の値。キーのマッピングがなかった場合はnull (また、実装がnull値をサポートしている場合、戻り値nullは、以前にマップでキーとnullが関連付けられていたことを示す場合もある。)
      • forEach

        public void forEach​(BiConsumer<? super K,? super V> action)
        インタフェースからコピーされた説明: Map
        このマップのすべてのエントリの処理が完了するかアクションから例外がスローされるまで、各エントリに対して指定されたアクションを実行します。 実装クラスで指定されない場合は、エントリ・セットの反復の順序でアクションが実行されます(反復順序が指定されている場合)。 アクションによってスローされた例外は、呼出し側に中継されます。
        定義:
        forEach、インタフェース: Map<K,V>
        パラメータ:
        action - 各エントリに対して実行されるアクション
      • replaceAll

        public void replaceAll​(BiFunction<? super K,? super V,? extends V> function)
        インタフェースからコピーされた説明: Map
        すべてのエントリが処理されるか、または関数が例外をスローするまで、各エントリの値を、そのエントリで指定された関数を呼び出した結果で置換します。 関数によってスローされた例外は、呼出し側に中継されます。
        定義:
        replaceAll、インタフェース: Map<K,V>
        パラメータ:
        function - 各エントリに適用する関数