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

インタフェースNavigableSet<E>

型パラメータ:
E - このセットで保持される要素の型
すべてのスーパー・インタフェース:
Collection<E>, Iterable<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
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    E ceiling​(E e)
    このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
    Iterator<E> descendingIterator()
    このセットの要素のイテレータを降順で返します。
    NavigableSet<E> descendingSet()
    このセットに含まれる要素の逆順のビューを返します。
    E floor​(E e)
    このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
    SortedSet<E> headSet​(E toElement)
    このセットのtoElementよりも確実に小さい要素を持つ部分のビューを返します。
    NavigableSet<E> headSet​(E toElement, boolean inclusive)
    このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。
    E higher​(E e)
    このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。
    Iterator<E> iterator()
    このセットの要素のイテレータを昇順で返します。
    E lower​(E e)
    このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。
    E pollFirst()
    最初(下端)の要素を取得して削除します。このセットが空の場合はnullを返します。
    E pollLast()
    最後(上端)の要素を取得して削除します。このセットが空の場合はnullを返します。
    NavigableSet<E> subSet​(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive)
    このセットのfromElement - toElementの要素範囲を持つ部分のビューを返します。
    SortedSet<E> subSet​(E fromElement, E toElement)
    このセットのfromElement (これを含む) - toElement (これを含まない)の要素範囲を持つ部分のビューを返します。
    SortedSet<E> tailSet​(E fromElement)
    このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビューを返します。
    NavigableSet<E> 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で宣言されたメソッド

    comparator, first, 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要素を許可しない場合
    • より高い

      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がその範囲から外れている場合