工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java NavigableMap完全マスター:機能、メソッド、TreeMap実装

Java NavigableMapインターフェース

このチュートリアルでは、JavaのNavigableMapインターフェース、その主要メソッド、TreeMapでの使用方法を説明します。

JavaコレクションフレームワークのNavigableMapインターフェースは、マップエントリ間のナビゲーション機能を提供します。SortedMapの特殊化であり、効率的な双方向走査を可能にするメソッドで機能を拡張します。


NavigableMapを実装するクラス

NavigableMapはインターフェースであるため、直接インスタンス化できません。主要な実装はTreeMapクラスで、キーをソート順に維持する自己平衡二分探索木構造を提供します。

Java NavigableMap完全マスター:機能、メソッド、TreeMap実装


NavigableMapの使い方

まずインターフェースをインポートします:

import java.util.NavigableMap;
import java.util.TreeMap;

次にインスタンスを作成します:

// TreeMapクラスによるNavigableMap実装
NavigableMap<Key, Value> numbers = new TreeMap<>();

上記コードでは、numbersはキー・値ペアを格納するTreeMapです。Keyは一意の識別子、Valueは関連データです。


NavigableMapの主要メソッド

すべてのSortedMap操作が利用可能ですが、より厳密な制御のためにいくつかがオーバーライドされています。主要メソッドには以下が含まれます:

headMap(key, booleanInclusive)

booleanInclusiveがfalse(デフォルト)の場合、keyより厳密に小さいキーを持つマップの部分をビューとして返します。booleanInclusiveがtrueの場合、返されるマップにkeyのエントリが含まれます。

tailMap(key, booleanInclusive)

booleanInclusiveがtrue(デフォルト)の場合、key以上のキーを持つマップの部分をビューとして返します。falseを渡すとkeyエントリを除外します。

subMap(fromKey, fromInclusive, toKey, toInclusive)

fromKeyとtoKeyの間のビューを提供します。デフォルトはfromInclusive = trueとtoInclusive = falseです。これらのフラグを調整することで、境界キーが結果マップに含まれるかどうかを制御できます。


追加のナビゲーションメソッド

公式仕様についてはJava NavigableMapドキュメントを参照してください。


TreeMap実装例

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        // TreeMapを使用したNavigableMap作成
        NavigableMap<String, Integer> numbers = new TreeMap<>();
        // マップに要素を挿入
        numbers.put("Two", 2);
        numbers.put("One", 1);
        numbers.put("Three", 3);
        System.out.println("NavigableMap: " + numbers);
        // マップの最初のエントリにアクセス
        System.out.println("最初のエントリ: " + numbers.firstEntry());
        // マップの最後のエントリにアクセス
        System.out.println("最後のエントリ: " + numbers.lastEntry());
        // マップから最初のエントリを削除
        System.out.println("削除された最初のエントリ: " + numbers.pollFirstEntry());
        // マップから最後のエントリを削除
        System.out.println("削除された最後のエントリ: " + numbers.pollLastEntry());
    }
}

出力

NavigableMap: {One=1, Three=3, Two=2}
最初のエントリ: One=1
最後のエントリ: Two=2
削除された最初のエントリ: One=1
削除された最後のエントリ: Two=2

TreeMapの詳細についてはJava TreeMapドキュメントを参照してください。


NavigableMapインターフェースとそのTreeMap実装をしっかり理解することで、Javaアプリケーション向けの効率的なソート済みデータ構造を構築できます。

Java

  1. Javaロギングのマスターガイド:信頼性の高いコードのための必須ベストプラクティス
  2. C#インターフェイスをマスターする:定義、実装、実践的なユースケース
  3. Java演算子をマスター:種類、構文、実践例
  4. Java superキーワード完全攻略:高度な活用法と実践例
  5. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  6. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  7. Java NavigableSetインターフェースをマスター:ナビゲーション、ソート、実践例
  8. Javaラムダ式完全ガイド:基礎からStream APIまで
  9. Java インターフェース vs 抽象クラス:適切な抽象化の選び方
  10. Javaインターフェース完全ガイド: 定義・実装・多重継承・タグインターフェース
  11. Java 9プライベートインターフェースメソッド:カプセル化とコード再利用を強化