- 型パラメータ:
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.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
- 例外:
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
-
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
- 返されるビューに下端点が含まれる場合はtrue
toElement
- 返されるセットの上端点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
がその範囲から外れている場合
-