インタフェースNavigableSet<E>
- 型パラメータ:
E- このセットによって保守される要素のタイプ
- すべてのスーパー・インタフェース:
Collection<E>,Iterable<E>,SequencedCollection<E>,SequencedSet<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を返します。default Eこのコレクションの最初の要素を削除して返します(オプションの操作)。default Eこのコレクションの最後の要素を削除して返します(オプションの操作)。default NavigableSet<E> reversed()このコレクションの逆順viewを返します。このセットの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で宣言されたメソッド
addFirst, addLast, comparator, first, getFirst, getLast, last, spliterator
-
メソッドの詳細
-
lower
このセット内で、指定された要素よりも確実に小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull- スロー:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
floor
このセット内で、指定された要素と等しいかそれよりも小さい要素の中で最大のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eと等しいか、それよりも小さい要素の中で最大のもの。そのような要素が存在しない場合はnull- スロー:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
ceiling
このセット内で、指定された要素と等しいかそれよりも大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eと等しいか、それよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull- スロー:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
higher
このセット内で、指定された要素よりも確実に大きい要素の中で最小のものを返します。そのような要素が存在しない場合はnullを返します。- パラメータ:
e- 照合する値- 戻り値:
eよりも大きい要素の中で最小のもの。そのような要素が存在しない場合はnull- スロー:
ClassCastException- 指定された要素を、セット内に現在存在している要素と比較できない場合NullPointerException- 指定された要素がnullであり、このセットがnull要素を許可しない場合
-
pollFirst
E pollFirst()最初の(最低)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。- 戻り値:
- 最初の要素。このセットが空の場合は
null - スロー:
UnsupportedOperationException-pollFirst操作がこのコレクションでサポートされていない場合
-
pollLast
E pollLast()最後の(最高)要素を取得して削除するか、このセットが空の(オプションの操作)の場合はnullを返します。- 戻り値:
- 最後の要素。このセットが空の場合は
null - スロー:
UnsupportedOperationException-pollLast操作がこのコレクションでサポートされていない場合
-
iterator
-
descendingSet
NavigableSet<E> descendingSet()このセットに含まれる要素の逆順のビューを返します。 降順セットはこのセットに連動しており、このセットでの変更は降順セットに反映され、その逆の場合も同様です。 いずれかのセットの反復処理中にいずれかのセットが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。返されるセットの順序付けは、
Collections.reverseOrder(comparator())と同等になります。 式s.descendingSet().descendingSet()から返されるsのビューは基本的にsと同等になります。- 戻り値:
- このセットの逆順のビュー
-
descendingIterator
-
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(これを含まない)の要素範囲を持つ部分のビュー - スロー:
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の場合はそれよりも小さいかそれと等しい要素)を含む部分のビュー - スロー:
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に等しいかそれよりも大きい要素を持つ部分のビュー - スロー:
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(これを含まない)の要素範囲を持つ部分のビュー - スロー:
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より小さい部分のビュー - スロー:
ClassCastException-toElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、toElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素とtoElementとを比較できない場合にこの例外をスローできる。ただし、必須ではない。NullPointerException-toElementがnullであり、このセットがnull要素を許可しない場合IllegalArgumentException- このセット自体が制限された範囲を持っており、toElementがその範囲から外れている場合
-
tailSet
要素がfromElement以上である、このセットの一部のビューを返します。 返されるセットはこのセットに連動しており、返されるセットでの変更はこのセットに反映され、その逆の場合も同様です。 返されるセットは、このセットがサポートする任意のセット・オペレーションをすべてサポートします。返されるセットは、その範囲外の要素が挿入されようとすると、
IllegalArgumentExceptionをスローします。tailSet(fromElement, true)と同等です。- 定義:
tailSet、インタフェースSortedSet<E>- パラメータ:
fromElement- 返されるセットの下端点(これを含む)- 戻り値:
- このセットの
fromElementに等しいかそれよりも大きい要素を持つ部分のビュー - スロー:
ClassCastException-fromElementがこのセットのコンパレータと互換性がない場合(または、そのセットがコンパレータを持たない場合、fromElementがComparableを実装していない場合)。 実装は、セット内に現在存在している要素と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
-