クラス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
関連項目:
  • ネストされたクラスのサマリー

    クラス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ビューを返します。

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

    equals, hashCode, isEmpty, toString

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

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

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

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

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

    reversed

    インタフェースで宣言されたメソッド 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がその範囲から外れている場合