モジュール 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