クラスTreeMap<K,V>

java.lang.Object
java.util.AbstractMap<K,V>
java.util.TreeMap<K,V>
型パラメータ:
K - このマップによって保持されるキーのタイプ
V - マップされた値のタイプ
すべての実装されたインタフェース:
Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SequencedMap<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メソッドによって返されるイテレータは、フェイルファストです。 イテレータの作成後に、イテレータ自体のremoveメソッド以外の方法でマップが構 的に変更されると、イテレータはConcurrentModificationExceptionをスローします。 このように、並行して変更が行われると、イテレータは、将来の予測できない時点において予測できない動作が発生する危険を回避するために、た ちにかつ手際よく例外をスローします。

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

メソッドceilingEntry(K)firstEntry()floorEntry(K)higherEntry(K)lastEntry()lowerEntry(K)pollFirstEntry()およびpollLastEntry()は、コール時点でのマッピングのスナップショットを表すMap.Entryインスタンスを返します。 オプションのsetValueメソッドを介した基礎となるマップの変更はサポートされていません。

このクラスのputFirstおよびputLastメソッドは、UnsupportedOperationExceptionをスローします。 マッピングの出現 序は比較メソッドによって決定されるため、明示的な配置はサポートされていません。

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

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

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

    AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
  • コンストラクタのサマリー

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

    修飾子と型
    メソッド
    説明
    指定されたキー以上の、最小のキーと関連するキーと値のマッピングを返します。そのようなキーが存在しない 合は、nullを返します。
    指定されたキーと等しいかそれよりも大きいキーの中で最小のものを返します。そのようなキーが存在しない 合はnullを返します。
    void
    すべてのマッピングをマップから削除します。
    TreeMapのインスタンスのシャロー・コピーを返します。
    Comparator<? super K>
    このマップ内のキーを 序付けするのに使うコンパレータを返します。た し、このマップがそのキーの自然 序付けを使う 合はnullを返します。
    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
    このマップが1つまたは複数のキーと指定された値をマッピングしている 合にtrueを返します。
    このマップに含まれるキーの逆 のNavigableSetビューを返します。
    このマップ内に保持されているマッピングの逆 のビューを返します。
    このマップに含まれるマッピングのSetビューを返します。
    このマップ内の最小のキーに関連付けられたキーと値のマッピングを返します。マップが空の 合、nullを返します。
    マップ内に現在ある最初(下端)のキーを返します。
    指定されたキー以下の、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない 合は、nullを返します。
    floorKey(K key)
    指定されたキーと等しいかそれよりも小さいキーの中で最大のものを返します。そのようなキーが存在しない 合はnullを返します。
    get(Object key)
    指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない 合はnullを返します。
    headMap(K toKey)
    このマップのtoKeyよりも確実に小さいキーを持つ部分のビューを返します。
    headMap(K toKey, boolean inclusive)
    このマップのtoKeyよりも小さいキー(inclusiveがtrueの 合はそれよりも小さいかそれと等しいキー)を含む部分のビューを返します。
    指定されたキーよりも確実に大きい、最小のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない 合は、nullを返します。
    higherKey(K key)
    指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない 合はnullを返します。
    このマップに含まれるキーのSetビューを返します。
    このマップ内の最大のキーに関連付けられたキーと値のマッピングを返します。マップが空の 合、nullを返します。
    マップ内に現在ある最後(上端)のキーを返します。
    指定されたキーよりも確実に小さい、最大のキーに関連付けられたキーと値のマッピングを返します。そのようなキーが存在しない 合は、nullを返します。
    lowerKey(K key)
    指定されたキーよりも確実に小さいキーの中で最大のものを返します。そのようなキーが存在しない 合はnullを返します。
    merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
    指定されたキーがま 値に関連付けられていない 合、またはnullに関連付けられている 合は、指定されたnull以外の値(オプションの操作)に関連付けます。
    このマップに含まれるキーのNavigableSetビューを返します。
    このマップ内の最も小さいキーに関連付けられたキーと値のマッピングを削除して返します。マップが空の(オプションの操作)の 合はnullを返します。
    このマップ内の最も大きいキーに関連付けられているキーと値のマッピングを削除して返します。マップが空の(オプションの操作)の 合はnullを返します。
    put(K key, V value)
    指定された値と指定されたキーをこのマップに関連付けます。
    void
    putAll(Map<? extends K, ? extends V> map)
    指定されたマップからすべてのマッピングをマップにコピーします。
    putFirst(K k, V v)
    UnsupportedOperationExceptionをスローします。
    putLast(K k, V v)
    UnsupportedOperationExceptionをスローします。
    キーのマッピングがあればTreeMapから削除します。
    int
    このマップ内のキー値マッピングの数を返します。
    subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive)
    このマップのfromKey - toKeyのキー範囲を持つ部分のビューを返します。
    subMap(K fromKey, K toKey)
    このマップのfromKey (これを含む) - toKey (これを含まない)のキー範囲を持つ部分のビューを返します。
    tailMap(K fromKey)
    このマップのfromKey以上のキーを持つ部分のビューを返します。
    tailMap(K fromKey, boolean inclusive)
    このマップのfromKeyよりも大きいキー(inclusiveがtrueの 合はそれよりも大きいかそれと等しいキー)を含む部分のビューを返します。
    このマップに含まれる値のCollectionビューを返します。

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

    equals, hashCode, isEmpty, toString

    クラスjava.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait

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

    equals, forEach, getOrDefault, hashCode, isEmpty, putIfAbsent, remove, replace, replace, replaceAll

    インタフェースjava.util.NavigableMapで宣言されたメソッド

    reversed

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

    sequencedEntrySet, sequencedKeySet, sequencedValues
  • コンストラクタの詳細

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

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

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

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

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

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

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

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

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

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

      public V putFirst(K k, V v)
      UnsupportedOperationExceptionをスローします。 このマップの比較メソッドによって誘起される検出 序によってマッピングの位置が決定されるため、明示的な配置はサポートされていません。
      定義:
      インタフェースSequencedMap<K,V>内のputFirst
      定義:
      インタフェースSortedMap<K,V>内のputFirst
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない 合はnull
      スロー:
      UnsupportedOperationException - 常時
      導入されたバージョン:
      21
    • putLast

      public V putLast(K k, V v)
      UnsupportedOperationExceptionをスローします。 このマップの比較メソッドによって誘起される検出 序によってマッピングの位置が決定されるため、明示的な配置はサポートされていません。
      定義:
      インタフェースSequencedMap<K,V>内のputLast
      定義:
      インタフェースSortedMap<K,V>内のputLast
      パラメータ:
      k - キー
      v - 値
      戻り値:
      以前kに関連付けられていた値。関連付けられていない 合はnull
      スロー:
      UnsupportedOperationException - 常時
      導入されたバージョン:
      21
    • putAll

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

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

      public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction)
      指定されたキーが値(または、nullにマップされます。)にま 関連付けられていない 合、指定されたマッピング関数を使用してその値をコンピュートし、null (オプションの操作)でないかぎりこのマップに入力します。

      マッピング関数がnullを返す 合、マッピングは記録されません。 マッピング関数自体が(unchecked)例外をスローした 合、例外は再スローされ、マッピングは記録されません。 もっとも一般的な用途は、次のように初期のマップされた値またはメモ化された結果として機能する新しいオブジェクトを構築することです。

       
       map.computeIfAbsent(key, k -> new Value(f(k)));
       

      または、1つのキーで複数の値をサポートする複数値マップMap<K,Collection<V>>を実装することです。

       
       map.computeIfAbsent(key, k -> new HashSet<V>()).add(v);
       

      マッピング関数は、計算中にこのマップを変更しないでく さい。

      このメソッドは、マッピング関数によって計算中にこのマップが変更されることが検出された 合に、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。

      定義:
      インタフェースMap<K,V>内のcomputeIfAbsent
      パラメータ:
      key - 指定された値が関連付けられるキー
      mappingFunction - 値をコンピュートするマッピング関数
      戻り値:
      指定されたキーに関連付けられている現在の(既存の、または計算された)値。計算された値がnullである 合はnull
      スロー:
      ConcurrentModificationException - マップ機能がこのマップを変更したことが検出された 合
    • computeIfPresent

      public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
      指定されたキーの値が存在し、null以外の 合は、キーとその現在のマップされた値(オプションの操作)を指定して、新しいマッピングのコンピュートを試みます。

      再マッピング関数がnullを返す 合、マッピングは削除されます。 再マッピング関数自体が(unchecked)例外をスローした 合、例外は再スローされ、現在のマッピングは変更されません。

      再マッピング関数は、計算中にこのマップを変更しないでく さい。

      このメソッドは、再マッピング関数によって計算中にこのマップが変更されることが検出された 合に、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。

      定義:
      インタフェースMap<K,V>内のcomputeIfPresent
      パラメータ:
      key - 指定された値が関連付けられるキー
      remappingFunction - 値をコンピュートするための再マップ関数
      戻り値:
      指定されたキーに関連付けられる新しい値。存在しない 合はnull
      スロー:
      ConcurrentModificationException - リマッピング機能がこのマップを変更したことが検出された 合
    • compute

      public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)
      指定されたキーとその現在のマップされた値のマッピングをコンピュートしようとします。現在のマッピング(オプションの操作)がない 合はnullです。 たとえば、次のように、値のマッピングにString msgを作成または追 します。
       
       map.compute(key, (k, v) -> (v == null) ? msg : v.concat(msg))
      (このような目的で使用するmerge()メソッドは、多くの 合、より単純です。)

      再マッピング関数がnullを返した 合、マッピングは削除されます。(最初に 席した 合は不在のままです)。 再マッピング関数自体が(unchecked)例外をスローした 合、例外は再スローされ、現在のマッピングは変更されません。

      再マッピング関数は、計算中にこのマップを変更しないでく さい。

      このメソッドは、再マッピング関数によって計算中にこのマップが変更されることが検出された 合に、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。

      定義:
      インタフェースMap<K,V>内のcompute
      パラメータ:
      key - 指定された値が関連付けられるキー
      remappingFunction - 値をコンピュートするための再マップ関数
      戻り値:
      指定されたキーに関連付けられる新しい値。存在しない 合はnull
      スロー:
      ConcurrentModificationException - リマッピング機能がこのマップを変更したことが検出された 合
    • merge

      public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)
      指定されたキーがま 値に関連付けられていない 合、またはnullに関連付けられている 合は、指定されたnull以外の値(オプションの操作)に関連付けます。 それ以外の 合は、指定された再マッピング関数の結果で関連する値を置換し、結果がnullの 合は削除します。 このメソッドは、1つのキーに対する複数のマップされた値を結合するときに使用できます。 たとえば、次のように、値のマッピングにString msgを作成または追 します。
       
       map.merge(key, msg, String::concat)
       

      再マッピング関数がnullを返す 合、マッピングは削除されます。 再マッピング関数自体が(unchecked)例外をスローした 合、例外は再スローされ、現在のマッピングは変更されません。

      再マッピング関数は、計算中にこのマップを変更しないでく さい。

      このメソッドは、再マッピング関数によって計算中にこのマップが変更されることが検出された 合に、ベスト・エフォート・ベースでConcurrentModificationExceptionをスローします。

      定義:
      インタフェースMap<K,V>内のmerge
      パラメータ:
      key - 結果値が関連付けられるキー
      value - キーに関連付けられた既存の値にマージされるnull以外の値。既存の値がない 合、またはキーにnull値が関連付けられている 合は、キーに関連付けられるnull以外の値
      remappingFunction - 存在する 合に値を再計算するための再マッピング関数
      戻り値:
      指定されたキーに関連付けられた新しい値。キーに値が関連付けられなかった 合はnull
      スロー:
      ConcurrentModificationException - リマッピング機能がこのマップを変更したことが検出された 合
    • remove

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public K higherKey(K key)
      インタフェースからコピーされた説明: NavigableMap
      指定されたキーよりも確実に大きいキーの中で最小のものを返します。そのようなキーが存在しない 合はnullを返します。
      定義:
      インタフェースNavigableMap<K,V>内のhigherKey
      パラメータ:
      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操作はサポートされていません。

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

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

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

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

      コレクションはマップと連動しているので、マップに対する変更はコレクションに反 され、またコレクションに対する変更はマップに反 されます。 コレクションの反復処理中にマップが変更された 合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーションを除く)。 コレクションは要 の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、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.SORTEDおよびSpliterator.ORDERED (キーの昇 である検出 序で)を 告します。

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

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

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

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

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

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

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

      定義:
      インタフェースNavigableMap<K,V>内のsubMap
      パラメータ:
      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をスローします。

      定義:
      インタフェースNavigableMap<K,V>内のheadMap
      パラメータ:
      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をスローします。

      定義:
      インタフェースNavigableMap<K,V>内のtailMap
      パラメータ:
      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)と同等です。

      定義:
      インタフェースNavigableMap<K,V>内のsubMap
      定義:
      インタフェースSortedMap<K,V>内のsubMap
      パラメータ:
      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)と同等です。

      定義:
      インタフェースNavigableMap<K,V>内のheadMap
      定義:
      インタフェースSortedMap<K,V>内のheadMap
      パラメータ:
      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)と同等です。

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