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

インタフェース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の場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。

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

    parallelStream, removeIf, stream, toArray

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

    forEach

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

    add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray

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

    addFirst, addLast, comparator, first, getFirst, getLast, last, 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
    • pollLast

      E pollLast()
      最後(上端)の要素を取得して削除します。このセットが空の場合はnullを返します。
      戻り値:
      最後の要素。このセットが空の場合はnull
    • 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