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

Java NavigableSetインターフェースをマスター:ナビゲーション、ソート、実践例

Java NavigableSetインターフェース

Java CollectionsフレームワークのNavigableSetインターフェースとそのメソッドを、実例を交えて学習します。

NavigableSetは、セット内の要素間をナビゲートする機能を提供します。SortedSetの一種と見なされます。

NavigableSetを実装するクラス

NavigableSetの機能を利用するには、TreeSetクラスを使用します。TreeSetはNavigableSetを実装しています。

NavigableSetの使い方

JavaでNavigableSetを使用するには、java.util.NavigableSetパッケージをインポートします:

// TreeSetによるSortedSet実装
NavigableSet<String> numbers = new TreeSet<>();

ここでは、TreeSetクラスのNavigableSetであるnumbersを作成しています。

NavigableSetのメソッド

NavigableSetはSortedSetの一種と見なされます。なぜならNavigableSetはSortedSetインターフェースを拡張しているからです。したがって、すべてのSortedSetメソッドもNavigableSetで利用可能です。ただし、SortedSetの一部メソッド(headSet()、tailSet()、subSet())はNavigableSetで異なる定義になっています。

headSet(element, booleanValue)

headSet()メソッドは、指定されたelementより前のすべての要素を返します。booleanValueパラメータは省略可能で、デフォルトはfalseです。trueを指定すると、指定要素を含む要素が返されます。

tailSet(element, booleanValue)

tailSet()メソッドは、指定されたelement以降のすべての要素を返します(指定要素を含む)。booleanValueのデフォルトはtrueです。falseを指定すると、指定要素を含まない要素が返されます。

subSet(e1, bv1, e2, bv2)

subSet()メソッドは、e1とe2の間のすべての要素を返します(e1を含む)。bv1とbv2は省略可能で、それぞれデフォルトはtrueとfalseです。bv1にfalseを指定するとe1を含まず、bv2にtrueを指定するとe2を含みます。

ナビゲーション用メソッド

NavigableSetは要素をナビゲートするためのさまざまなメソッドを提供します:

TreeSetクラスでのNavigableSet実装

import java.util.NavigableSet;
import java.util.TreeSet;

class Main {
    public static void main(String[] args) {
        // TreeSetを使用してNavigableSetを作成
        NavigableSet<Integer> numbers = new TreeSet<>();
        
        // 要素を挿入
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("NavigableSet: " + numbers);
        
        // 最初の要素にアクセス
        int firstElement = numbers.first();
        System.out.println("最初の数値: " + firstElement);
        
        // 最後の要素にアクセス
        int lastElement = numbers.last();
        System.out.println("最後の要素: " + lastElement);
        
        // 最初の要素を削除
        int number1 = numbers.pollFirst();
        System.out.println("削除された最初の要素: " + number1);
        
        // 最後の要素を削除
        int number2 = numbers.pollLast();
        System.out.println("削除された最後の要素: " + number2);
    }
}

出力

NavigableSet: [1, 2, 3]
最初の数値: 1
最後の要素: 3
削除された最初の要素: 1
削除された最後の要素: 3

TreeSetの詳細については、Java TreeSetを参照してください。

NavigableSetインターフェースについて理解できたところで、TreeSetクラスを使用した実装について学びます。

Java

  1. C#インターフェイスをマスターする:定義、実装、実践的なユースケース
  2. Java演算子をマスター:種類、構文、実践例
  3. Javaコメント:種類、使い方、ベストプラクティス
  4. Java if…elseをマスター:制御フローを徹底解説
  5. Javaインターフェース完全ガイド:概念、実装、ベストプラクティス
  6. Javaのtry-with-resourcesをマスターする:自動リソース管理の仕組みと活用法
  7. Javaアノテーション完全ガイド:種類、配置場所、実践例
  8. Javaラムダ式完全ガイド:基礎からStream APIまで
  9. Java インターフェース vs 抽象クラス:適切な抽象化の選び方
  10. Javaインターフェース完全ガイド: 定義・実装・多重継承・タグインターフェース
  11. Java 9プライベートインターフェースメソッド:カプセル化とコード再利用を強化