Java NaviableMap インターフェイス
Java NavigableMap インターフェイス
このチュートリアルでは、Java NavigableMap インターフェイスとそのメソッドについて、例を使って学習します。
NavigableMap
Java コレクション フレームワークのインターフェイスは、マップ エントリ間を移動する機能を提供します。
これは、SortedMap の一種と見なされます。
NavigableMap を実装するクラス
NavigableMap
以降 はインターフェースなので、そこからオブジェクトを作成することはできません.
NavigableMap
の機能を使用するには TreeMap
を使用する必要があります。 NavigableMap
を実装するクラス .
NavigableMap の使い方
Java では、java.util.NavigableMap
をインポートする必要があります。 NavigableMap
を使用するパッケージ .パッケージをインポートしたら、ナビゲーション可能なマップを作成する方法を次に示します。
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
上記のコードでは、numbers という名前のナビゲーション可能なマップを作成しました。 TreeMap
の クラス。
ここで、
- キー - マップ内の各要素 (値) を関連付けるために使用される一意の識別子
- 値 - マップ内のキーによって関連付けられた要素
NavigableMap のメソッド
NavigableMap
SortedMap
のタイプと見なされます . NavigableMap
だからです SortedMap
を拡張します
したがって、すべての SortedMap
メソッドは NavigableMap
でも利用できます .これらのメソッドが SortedMap
でどのように定義されているかを学ぶ 、Java SortedMap にアクセスしてください。
ただし、SortedMap
のメソッドの一部は (headMap()
、 tailMap()
、および subMap()
) は NavigableMap
では異なる定義になっています .
これらのメソッドが NavigableMap
でどのように定義されているか見てみましょう .
headMap(key, booleanValue)
headMap()
メソッドは、指定された key の前にあるすべてのキーに関連付けられたナビゲート可能なマップのすべてのエントリを返します (これは引数として渡されます)。
booleanValue オプションのパラメータです。デフォルト値は false
です .
true
の場合 booleanValue として渡されます 、メソッドは、指定された key の前にあるすべてのキーに関連付けられたすべてのエントリを返します 、指定された key に関連付けられたエントリを含む .
tailMap(key, booleanValue)
tailMap()
メソッドは、指定された key の後のすべてのキーに関連付けられたナビゲート可能なマップのすべてのエントリを返します (引数として渡される) 指定された key に関連付けられたエントリを含む .
booleanValue オプションのパラメータです。デフォルト値は true
です .
false
の場合 booleanValue として渡されます 、メソッドは、指定された key の後に、それらのキーに関連付けられたすべてのエントリを返します 、指定された key に関連付けられたエントリを含めずに .
subMap(k1, bv1, k2, bv2)
subMap()
メソッドは k1 間のキーに関連付けられたすべてのエントリを返します と k2 k1 に関連付けられたエントリを含む .
bv1 そしてbv2 オプションのパラメータです。 bv1 のデフォルト値 は true で、デフォルト値は bv2 です false
です .
false
の場合 bv1 として渡されます 、メソッドは k1 間のキーに関連付けられたすべてのエントリを返します と k2 k1 に関連付けられたエントリを含めずに .
true
の場合 bv2 として渡されます 、メソッドは k1 間のキーに関連付けられたすべてのエントリを返します と k2 k1 に関連付けられたエントリを含む .
その他の方法
NavigableMap
マップのエントリを見つけるために使用できるさまざまな方法を提供します。
- descendingMap() - マップ内のエントリの順序を逆にする
- descendingKeyMap() - マップ内のキーの順序を逆にします
- ceilingEntry() - 指定されたキー以上のキーを持つすべてのエントリの中で最も低いキーを持つエントリを返します
- ceilingKey() - 指定されたキー以上のキーの中で最も低いキーを返します
- フロアエントリー() - キーが指定されたキー以下のすべてのエントリの中で最も高いキーを持つエントリを返します
- フロアキー() - 指定されたキー以下のキーの中で最も高いキーを返します
- higherEntry() - キーが指定されたキーより大きいすべてのエントリの中で最も低いキーを持つエントリを返します
- higherKey() - 指定されたキーよりも大きいキーの中で最も低いキーを返します
- lowerEntry() - キーが指定されたキーより小さいすべてのエントリの中で最も高いキーを持つエントリを返します
- lowerKey() - 指定されたキーよりも小さいキーの中で最も高いキーを返します
- firstEntry() - マップの最初のエントリ (キーが最も低いエントリ) を返します
- lastEntry() - マップの最後のエントリ (最も高いキーを持つエントリ) を返します
- pollFirstEntry() - マップの最初のエントリを返し、削除します
- pollLastEntry() - マップの最後のエントリを返し、削除します
詳細については、Java NavigableMap (Java の公式ドキュメント) にアクセスしてください。
TreeMap クラスでの NavigableMap の実装
import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating NavigableMap using TreeMap
NavigableMap<String, Integer> numbers = new TreeMap<>();
// Insert elements to map
numbers.put("Two", 2);
numbers.put("One", 1);
numbers.put("Three", 3);
System.out.println("NavigableMap: " + numbers);
// Access the first entry of the map
System.out.println("First Entry: " + numbers.firstEntry());
// Access the last entry of the map
System.out.println("Last Entry: " + numbers.lastEntry());
// Remove the first entry from the map
System.out.println("Removed First Entry: " + numbers.pollFirstEntry());
// Remove the last entry from the map
System.out.println("Removed Last Entry: " + numbers.pollLastEntry());
}
}
出力
NavigableMap: {One=1, Three=3, Two=2} First Entry: One=1 Last Entry: Two=2 Removed First Entry: One=1 Removed Last Entry: Two=2
TreeMap
について詳しく知るには 、Java TreeMap にアクセスしてください。
これで NavigableMap
についてわかりました インターフェイス、 TreeMap
を使用してその実装について学びます クラスの詳細については、次のチュートリアルで説明します。
Java