インタフェースNavigableSet<E>

型パラメータ:
E - このセットによって保守される要素のタイプ
すべてのスーパー・インタフェース:
Collection<E>, Iterable<E>, SequencedCollection<E>, SequencedSet<E>, Set<E>, SortedSet<E>
既知のすべての実装クラス:
ConcurrentSkipListSet, TreeSet

public interface NavigableSet<E> extends SortedSet<E>
指定の検索ターゲットにもっとも近い一致内容を報告するナビゲーション・メソッドで拡張されたSortedSetです。 メソッドlower(E)floor(E)ceiling(E)およびhigher(E)は、それぞれ指定された要素より小さい、小さい、等しい、大きいまたは等しい、および大きい要素を返し、そのような要素がない場合はnullを返します。

昇順または降順の順序で、NavigableSetがアクセスしたり、トラバースしたりできる。 descendingSet()メソッドは、すべてのリレーショナル・メソッドと方向メソッドの感覚を反転させたセットのビューを返します。 オペレーションやビューのパフォーマンスは通常、降順よりも昇順のほうが高速になります。 このインタフェースでは、最下位要素と最上位要素(存在する場合)を返して削除するメソッドpollFirst()およびpollLast()をさらに定義し、それ以外の場合はnullを返します。 メソッドsubSet(E, boolean, E, boolean)headSet(E, boolean)およびtailSet(E, boolean)は、下限と上限が包含的か排他的かを記述する追加の引数を受け入れる際の、同じ名前のSortedSetメソッドとは異なります。 どのNavigableSetのサブセットでもNavigableSetインタフェースを実装する必要があります。

null要素を許可する実装では、ナビゲーション・メソッドの戻り値があいまいになる可能性があります。 ただし、その場合でも、contains(null)をチェックすることで、その結果のあいまいさを明確にできます。 そのような問題を回避するため、このインタフェースの実装では、null要素の挿入を許可しないようにすることをお薦めします。 (Comparable要素から成るソート・セットは本来、nullを許可しません。)

subSet(E, E)headSet(E)、およびtailSet(E)メソッドがSortedSetを返す仕様になっているのは、既存のSortedSet実装を互換性を維持しながら改良してNavigableSetを実装できるようにするためです。ただし、このインタフェースの拡張や実装では、これらのメソッドをオーバーライドしてNavigableSetが返されるようにすることをお薦めします。

このインタフェースは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.6
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
    このセットの要素のイテレータを降順で返します。
    このセットに含まれる要素の逆順のビューを返します。
    floor(E e)
    このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
    headSet(E toElement)
    このセットの要素がtoElementより厳密に小さい部分のビューを返します。
    headSet(E toElement, boolean inclusive)
    このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。
    higher(E e)
    このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
    このセットの要素のイテレータを昇順で返します。
    lower(E e)
    このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
    最初の(最低)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。
    最後の(最高)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。
    default E
    このコレクションの最初の要素を削除して返します(オプションの操作)。
    default E
    このコレクションの最後の要素を削除して返します(オプションの操作)。
    default NavigableSet<E>
    このコレクションの逆順viewを返します。
    subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
    このセットのfromElement - toElementの要素範囲を持つ部分のビューを返します。
    subSet(E fromElement, E toElement)
    このセットの要素の範囲がfromElement、包含的、排他的、toElementである部分のビューを返します。
    tailSet(E fromElement)
    要素がfromElement以上である、このセットの一部のビューを返します。
    tailSet(E fromElement, boolean inclusive)
    このセットのfromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。

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

    parallelStream, removeIf, stream, toArray
    修飾子と型
    メソッド
    説明
    default Stream<E>
    このコレクションをソースとして、潜在的に並列のStreamを返します。
    default boolean
    removeIf(Predicate<? super E> filter)
    指定された述語(オプションの操作)を満たす、このコレクションのすべての要素を削除します。
    default Stream<E>
    このコレクションをソースとして使用して、逐次的なStreamを返します。
    default <T> T[]
    toArray(IntFunction<T[]> generator)
    指定されたgenerator関数を使用してこのコレクションのすべての要素を含む配列を返し、返された配列を割り当てます。

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

    forEach
    修飾子と型
    メソッド
    説明
    default void
    forEach(Consumer<? super E> action)
    Iterableの各要素に対して指定されたアクションを、すべての要素が処理されるか、アクションが例外をスローするまで実行します。

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

    add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
    修飾子と型
    メソッド
    説明
    boolean
    add(E e)
    指定された要素がセット内になかった場合、セットに追加します(オプションの操作)。
    boolean
    addAll(Collection<? extends E> c)
    指定されたコレクションのすべての要素について、その要素がこのセット内にない場合、セットに追加します(オプションの操作)。
    void
    セットからすべての要素を削除します(オプションの操作)。
    boolean
    指定された要素がこのセットに含まれている場合にtrueを返します。
    boolean
    指定されたコレクションのすべての要素がこのセットに含まれている場合にtrueを返します。
    boolean
    指定されたオブジェクトがセットと同じかどうかを比較します。
    int
    セットのハッシュ・コード値を返します。
    boolean
    このセットに要素が1つも含まれていない場合にtrueを返します。
    boolean
    指定された要素がセット内にあった場合、セットから削除します(オプションの操作)。
    boolean
    このセットから、指定されたコレクションに含まれる要素をすべて削除します(オプションの操作)。
    boolean
    セット内の要素のうち、指定されたコレクション内にある要素だけを保持します(オプションの操作)。
    int
    セット内の要素数(そのカーディナリティ)を返します。
    セット内のすべての要素が格納されている配列を返します。
    <T> T[]
    toArray(T[] a)
    セット内のすべての要素を格納している配列を返します。返される配列の実行時の型は、指定された配列の型になります。

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

    addFirst, addLast, comparator, first, getFirst, getLast, last, spliterator
    修飾子と型
    メソッド
    説明
    default void
    UnsupportedOperationExceptionをスローします。
    default void
    UnsupportedOperationExceptionをスローします。
    Comparator<? super E>
    このセットの要素の順序付けに使用されるコンパレータを返します。このセットが要素の「自然順序付け」を使用する場合はnullを返します。
    セット内に現在ある最初(下端)の要素を返します。
    default E
    このコレクションの最初の要素を取得します。
    default E
    このコレクションの最後の要素を取得します。
    セット内に現在ある最後(上端)の要素を返します。
    default Spliterator<E>
    このソート・セット内の要素に対するSpliteratorを作成します。
  • メソッドの詳細

    • lower

      E lower(E e)
      このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
      パラメータ:
      e - 照合する値
      戻り値:
      eよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull
      スロー:
      ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
      NullPointerException - 指定された要素がnullであり、このセットがnull要素を許可しない場合
    • floor

      E floor(E e)
      このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
      パラメータ:
      e - 照合する値
      戻り値:
      eと等しいか、それよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull
      スロー:
      ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
      NullPointerException - 指定された要素がnullであり、このセットがnull要素を許可しない場合
    • ceiling

      E ceiling(E e)
      このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
      パラメータ:
      e - 照合する値
      戻り値:
      eと等しいか、それよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull
      スロー:
      ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
      NullPointerException - 指定された要素がnullであり、このセットがnull要素を許可しない場合
    • higher

      E higher(E e)
      このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
      パラメータ:
      e - 照合する値
      戻り値:
      eよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull
      スロー:
      ClassCastException - 指定された要素を、セット内に現在存在している要素と比較できない場合
      NullPointerException - 指定された要素がnullであり、このセットがnull要素を許可しない場合
    • pollFirst

      E pollFirst()
      最初の(最低)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。
      戻り値:
      最初の要素。このセットが空の場合はnull
      スロー:
      UnsupportedOperationException - pollFirst操作がこのコレクションでサポートされていない場合
    • pollLast

      E pollLast()
      最後の(最高)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。
      戻り値:
      最後の要素。このセットが空の場合はnull
      スロー:
      UnsupportedOperationException - pollLast操作がこのコレクションでサポートされていない場合
    • iterator

      Iterator<E> iterator()
      このセットの要素のイテレータを昇順で返します。
      定義:
      iterator、インタフェースCollection<E>
      定義:
      iterator、インタフェースIterable<E>
      定義:
      iterator、インタフェースSet<E>
      戻り値:
      昇順の、このセットの要素のイテレータ
    • descendingSet

      NavigableSet<E> descendingSet()
      このセットに含まれる要素の逆順のビューを返します。 降順セットはこのセットに連動しており、このセットでの変更は降順セットに反映され、その逆の場合も同様です。 いずれかのセットの反復処理中にいずれかのセットが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。

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

      戻り値:
      このセットの逆順のビュー
    • descendingIterator

      Iterator<E> descendingIterator()
      このセットの要素のイテレータを降順で返します。 実質的にdescendingSet().iterator()と同等です。
      戻り値:
      降順の、このセットの要素のイテレータ
    • subSet

      NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
      このセットのfromElement - toElementの要素範囲を持つ部分のビューを返します。 fromElementtoElementが等しい場合、返されるセットは、 fromInclusivetoInclusiveの両方がtrueでないかぎり、空になります。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      パラメータ:
      fromElement - 返されるセットの下端点
      fromInclusive - 返されるビューに下端点が含まれる場合はtrue
      toElement - 返されるセットの上端点
      toInclusive - 返されるビューに上端点が含まれる場合はtrue
      戻り値:
      このセットのfromElement (これを含む) - toElement (これを含まない)の要素範囲を持つ部分のビュー
      スロー:
      ClassCastException - このセットのコンパレータを使用して(このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElementtoElementを相互に比較できない場合。 実装は、セット内に現在存在している要素とfromElementまたはtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
      NullPointerException - fromElementまたはtoElementがnullであり、このセットがnull要素を許可しない場合
      IllegalArgumentException - fromElementtoElementよりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElementまたはtoElementがその範囲から外れている場合
    • headSet

      NavigableSet<E> headSet(E toElement, boolean inclusive)
      このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      パラメータ:
      toElement - 返されるセットの上端点
      inclusive - 返されるビューに上端点が含まれる場合はtrue
      戻り値:
      このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビュー
      スロー:
      ClassCastException - toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementComparableを実装していない場合)。 実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
      NullPointerException - toElementがnullであり、このセットがnull要素を許可しない場合
      IllegalArgumentException - このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合
    • tailSet

      NavigableSet<E> tailSet(E fromElement, boolean inclusive)
      このセットのfromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      パラメータ:
      fromElement - 返されるセットの下端点
      inclusive - 返されるビューに下端点が含まれる場合はtrue
      戻り値:
      このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビュー
      スロー:
      ClassCastException - fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementComparableを実装していない場合)。 実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
      NullPointerException - fromElementがnullであり、このセットがnull要素を許可しない場合
      IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合
    • subSet

      SortedSet<E> subSet(E fromElement, E toElement)
      このセットの要素の範囲がfromElement、包含的、排他的、toElementである部分のビューを返します。 (fromElementtoElementが等しい場合、返されるセットは空です。) 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      subSet(fromElement, true, toElement, false)と同等です。

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

      SortedSet<E> headSet(E toElement)
      このセットの要素がtoElementより厳密に小さい部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      headSet(toElement, false)と同等です。

      定義:
      headSet、インタフェースSortedSet<E>
      パラメータ:
      toElement - 返されるセットの上端点(これを含まない)
      戻り値:
      このセットの要素が厳密にtoElementより小さい部分のビュー
      スロー:
      ClassCastException - toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementComparableを実装していない場合)。 実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
      NullPointerException - toElementがnullであり、このセットがnull要素を許可しない場合
      IllegalArgumentException - このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合
    • tailSet

      SortedSet<E> tailSet(E fromElement)
      要素がfromElement以上である、このセットの一部のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。

      返されるセットは、その範囲外の要素が挿入されようとすると、IllegalArgumentExceptionをスローします。

      tailSet(fromElement, true)と同等です。

      定義:
      tailSet、インタフェースSortedSet<E>
      パラメータ:
      fromElement - 返されるセットの下端点(これを含む)
      戻り値:
      このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビュー
      スロー:
      ClassCastException - fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementComparableを実装していない場合)。 実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。
      NullPointerException - fromElementがnullであり、このセットがnull要素を許可しない場合
      IllegalArgumentException - このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合
    • removeFirst

      default E removeFirst()
      このコレクションの最初の要素を削除して返します(オプションの操作)。
      定義:
      インタフェースSequencedCollection<E>内のremoveFirst
      定義:
      インタフェースSortedSet<E>内のremoveFirst
      実装要件:
      このセットが空でない場合、このインタフェースの実装は、pollFirstメソッドをコールした結果を返します。 それ以外の場合は、NoSuchElementExceptionがスローされます。
      戻り値:
      削除される要素
      スロー:
      NoSuchElementException - このコレクションが空の場合
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
      導入されたバージョン:
      21
    • removeLast

      default E removeLast()
      このコレクションの最後の要素を削除して返します(オプションの操作)。
      定義:
      インタフェースSequencedCollection<E>内のremoveLast
      定義:
      インタフェースSortedSet<E>内のremoveLast
      実装要件:
      このセットが空でない場合、このインタフェースの実装は、pollLastメソッドをコールした結果を返します。 それ以外の場合は、NoSuchElementExceptionがスローされます。
      戻り値:
      削除される要素
      スロー:
      NoSuchElementException - このコレクションが空の場合
      UnsupportedOperationException - このコレクション実装がこの操作をサポートしていない場合
      導入されたバージョン:
      21
    • reversed

      default NavigableSet<E> reversed()
      このコレクションの逆順viewを返します。 返されるビュー内の要素の出現順序は、このコレクション内の要素の出現順序の逆です。 逆の順序付けは、返されるビューのビュー・コレクションに含まれるすべての順序依存操作に影響します。 コレクション実装でこのビューの変更が許可されている場合、ベースとなるコレクションへの変更"ライトスルー"。 実装によっては、基礎となるコレクションに対する変更が、この逆方向ビューに表示される場合と表示されない場合があります。

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

      定義:
      インタフェースSequencedCollection<E>内のreversed
      定義:
      インタフェースSequencedSet<E>内のreversed
      定義:
      インタフェースSortedSet<E>内のreversed
      実装要件:
      このインタフェースの実装は、descendingSetメソッドをコールした結果を返します。
      戻り値:
      このコレクションの逆順ビュー(NavigableSetとして)
      導入されたバージョン:
      21