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

インタフェースNavigableMap<K,V>

型パラメータ:
K - このマップで保持されるキーの型
V - マップされる値の型
すべてのスーパー・インタフェース:
Map<K,V>, SequencedMap<K,V>, SortedMap<K,V>
既知のすべてのサブインタフェース:
ConcurrentNavigableMap<K,V>
既知のすべての実装クラス:
ConcurrentSkipListMap, TreeMap

public interface NavigableMap<K,V> extends SortedMap<K,V>
指定の検索ターゲットにもっとも近い一致内容を返すナビゲーション・メソッドで拡張されたSortedMapです。 メソッドlowerEntry(K)floorEntry(K)ceilingEntry(K)およびhigherEntry(K)は、指定されたキーより小さい、小さいまたは等しい、大きいまたは大きい、および大きいキーに関連付けられているMap.Entryオブジェクトを返し、そのようなキーがない場合はnullを返します。 同様に、メソッドlowerKey(K)floorKey(K)ceilingKey(K)およびhigherKey(K)は、関連付けられたキーのみを返します。 これらのすべてのメソッドの設計目的は、エントリをトラバースすることではなく、エントリを特定することです。

NavigableMapへのアクセスやトラバースは、キーの昇順、降順のいずれかで行えます。 descendingMap()メソッドは、すべてのリレーショナル・メソッドと方向メソッドの感覚を反転させたマップのビューを返します。 オペレーションやビューのパフォーマンスは通常、降順よりも昇順のほうが高速になります。 メソッドsubMap(K, boolean, K, boolean)headMap(K, boolean)およびtailMap(K, boolean)は、下限と上限が包含的か排他的かを記述する追加の引数を受け入れる際の、同じ名前のSortedMapメソッドとは異なります。 どのNavigableMapのサブマップでもNavigableMapインタフェースを実装する必要があります。

このインタフェースは、メソッドfirstEntry()pollFirstEntry()lastEntry()およびpollLastEntry()をさらに定義し、最小および最大のマッピング(存在する場合)を返したり削除したりします。それ以外の場合は、nullを返します。

メソッドceilingEntry(K)firstEntry()floorEntry(K)higherEntry(K)lastEntry()lowerEntry(K)pollFirstEntry()およびpollLastEntry()は、コール時点でのマッピングのスナップショットを表すMap.Entryインスタンスを返します。 オプションのsetValueメソッドを介した基礎となるマップの変更はサポートされていません。

subMap(K, K)headMap(K)およびtailMap(K)メソッドは、既存のSortedMap実装を互換的に改良してNavigableMapを実装できるようにするために、SortedMapを返すように規定されています。ただし、このインタフェースの拡張および実装は、これらのメソッドをオーバーライドしてNavigableMapを返すようにすることをお薦めします。 同様に、SortedMap.keySet()をオーバーライドしてNavigableSetを返すこともできます。

このインタフェースは、Java Collections Frameworkのメンバーです。

導入されたバージョン:
1.6