- 型パラメータ:
E- このセットで保持される要素の型
- すべてのスーパー・インタフェース:
Collection<E>,Iterable<E>,Set<E>,SortedSet<E>
- 既知のすべての実装クラス:
ConcurrentSkipListSet,TreeSet
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を返します。このセットの要素のイテレータを降順で返します。このセットに含まれる要素の逆順のビューを返します。このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。このセットのtoElementよりも確実に小さい要素を持つ部分のビューを返します。このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。iterator()このセットの要素のイテレータを昇順で返します。このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。最初(下端)の要素を取得して削除します。このセットが空の場合はnullを返します。pollLast()最後(上端)の要素を取得して削除します。このセットが空の場合はnullを返します。このセットのfromElement-toElementの要素範囲を持つ部分のビューを返します。このセットのfromElement(これを含む) -toElement(これを含まない)の要素範囲を持つ部分のビューを返します。このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビューを返します。このセットのfromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。インタフェース java.util.Collectionで宣言されたメソッド
parallelStream, removeIf, stream, toArrayインタフェース 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
このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull- throws:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
floor
このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eと等しいか、それよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull- throws:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
ceiling
このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eと等しいか、それよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull- throws:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
higher
このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull- throws:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
pollFirst
E pollFirst()最初(下端)の要素を取得して削除します。このセットが空の場合はnullを返します。- 戻り値:
- 最初の要素。このセットが空の場合は
null
-
pollLast
E pollLast()最後(上端)の要素を取得して削除します。このセットが空の場合はnullを返します。- 戻り値:
- 最後の要素。このセットが空の場合は
null
-
iterator
このセットの要素のイテレータを昇順で返します。 -
descendingSet
NavigableSet<E> descendingSet()このセットに含まれる要素の逆順のビューを返します。 降順セットはこのセットに連動しており、このセットでの変更は降順セットに反映され、その逆の場合も同様です。 いずれかのセットの反復処理中にいずれかのセットが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。返されるセットの順序付けは、
Collections.reverseOrder(comparator())と同等になります。 式s.descendingSet().descendingSet()から返されるsのビューは基本的にsと同等になります。- 戻り値:
- このセットの逆順のビュー
-
descendingIterator
このセットの要素のイテレータを降順で返します。 実質的にdescendingSet().iterator()と同等です。- 戻り値:
- 降順の、このセットの要素のイテレータ
-
subSet
NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) このセットのfromElement-toElementの要素範囲を持つ部分のビューを返します。fromElementとtoElementが等しい場合、返されるセットは、fromInclusiveとtoInclusiveの両方がtrueでないかぎり、空になります。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。- パラメータ:
fromElement- 返されるセットの下端点fromInclusive- 返されるビューに下端点が含まれる場合はtruetoElement- 返されるセットの上端点toInclusive- 返されるビューに上端点が含まれる場合はtrue- 戻り値:
- このセットの
fromElement(これを含む) -toElement(これを含まない)の要素範囲を持つ部分のビュー - throws:
ClassCastException- このセットのコンパレータを使用して(このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElementとtoElementを相互に比較できない場合。 実装は、セット内に現在存在している要素とfromElementまたはtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-fromElementまたはtoElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException-fromElementがtoElementよりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElementまたはtoElementがその範囲から外れている場合
-
headSet
NavigableSet<E> headSet(E toElement, boolean inclusive) このセットのtoElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。- パラメータ:
toElement- 返されるセットの上端点inclusive- 返されるビューに上端点が含まれる場合はtrue- 戻り値:
- このセットの
toElementよりも小さい要素(inclusiveがtrueの場合はそれよりも小さいかそれと等しい要素)を含む部分のビュー - throws:
ClassCastException-toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-toElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合
-
tailSet
NavigableSet<E> tailSet(E fromElement, boolean inclusive) このセットのfromElementよりも大きい要素(inclusiveがtrueの場合はそれよりも大きいかそれと等しい要素)を含む部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。- パラメータ:
fromElement- 返されるセットの下端点inclusive- 返されるビューに下端点が含まれる場合はtrue- 戻り値:
- このセットの
fromElementに等しいかそれよりも大きい要素を持つ部分のビュー - throws:
ClassCastException-fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-fromElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合
-
subSet
このセットのfromElement(これを含む) -toElement(これを含まない)の要素範囲を持つ部分のビューを返します。fromElementとtoElementが等しい場合は、空のセットが返されます。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。subSet(fromElement, true, toElement, false)と同等です。- 定義:
subSet、インタフェースSortedSet<E>- パラメータ:
fromElement- 返されるセットの下端点(これを含む)toElement- 返されるセットの上端点(これを含まない)- 戻り値:
- このセットの
fromElement(これを含む) -toElement(これを含まない)の要素範囲を持つ部分のビュー - throws:
ClassCastException- このセットのコンパレータを使用して(このセットがコンパレータを持たない場合は自然順序付けを使用して)、fromElementとtoElementを相互に比較できない場合。 実装は、セット内に現在存在している要素とfromElementまたはtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-fromElementまたはtoElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException-fromElementがtoElementよりも大きい場合、またはこのセット自体が制限された範囲を持っており、fromElementまたはtoElementがその範囲から外れている場合
-
headSet
このセットのtoElementよりも確実に小さい要素を持つ部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。headSet(toElement, false)と同等です。- 定義:
headSet、インタフェースSortedSet<E>- パラメータ:
toElement- 返されるセットの上端点(これを含まない)- 戻り値:
- このセットの
toElementよりも確実に小さい要素を持つ部分のビュー - throws:
ClassCastException-toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-toElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合
-
tailSet
このセットのfromElementに等しいかそれよりも大きい要素を持つ部分のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。tailSet(fromElement, true)と同等です。- 定義:
tailSet、インタフェースSortedSet<E>- パラメータ:
fromElement- 返されるセットの下端点(これを含む)- 戻り値:
- このセットの
fromElementに等しいかそれよりも大きい要素を持つ部分のビュー - throws:
ClassCastException-fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素とfromElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-fromElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- このセット自体が制限された範囲を持っており、fromElementがその範囲から外れている場合
-