HOWTO · Java

Java の自然順序付け

このチュートリアルでは、Java の自然順序付けについて説明します。

このページの内容

プログラマーであれば、配列を扱った経験が必要です。 配列の並べ替えは、指定された順序で配列を再編成するために使用される一般的な操作です。

Java で最も一般的に使用される順序は自然順序です。 この記事では、naturalOrder() 関数を使用して配列を並べ替える方法を示します。

また、トピックを簡単にするために必要な例と説明も表示されます。

Java の naturalOrder() 関数

naturalOrder()は、Java のComparatorインターフェースの関数です。 配列の要素またはオブジェクトのコレクションを比較することを目的とする関数です。

Array.sort() または Collections.sort() で渡すことができます。 これを使用して、配列要素を並べ替えることもできます。

さらに、配列に null 値を持つ naturalOrder() メソッドで nullsFirst() および nullsLast() メソッドを使用することもできます。

Java での naturalOrder() 関数の一般的な使用法

この例では、naturalOrder() 関数の一般的な使用方法を示します。 いくつかの単純なデータを含む配列を注文しました。

この例のコードは次のようになります。

import java.util.Arrays;
import java.util.Comparator;

class Main {
  public static void main(String[] args) {
    String[] str = {"B", "C", "A", "E", "G"};
    Arrays.sort(str, Comparator.naturalOrder());
    System.out.println(Arrays.toString(str));
  }
}

いくつかの値を持つ文字列配列を取得した後、Arrays.sort(str, Comparator.naturalOrder()); 行を使用して配列を並べ替え、最後に配列を出力しました。

出力を以下に示します。

[A, B, C, E, G]

nullsFirst() 関数を Java の naturalOrder() 関数と共に使用する

naturalOrder()nullsFirst() 関数を使用できます。 関数 nullsFirst() は、配列に null 値が含まれている場合、配列のすべての null 値要素を最初に並べ替えます。

これを理解するために、次の例を考えてみましょう。

import java.util.Arrays;
import java.util.Comparator;

class Main {
  public static void main(String[] args) {
    String[] str = {"B", "C", null, "A", "E", "G"};
    Arrays.sort(str, Comparator.nullsFirst(Comparator.naturalOrder()));
    System.out.println(Arrays.toString(str));
  }
}

いくつかの値を含む文字列配列を取得した後、次の行を使用して配列を並べ替えました。

Arrays.sort(str, Comparator.nullsFirst(Comparator.naturalOrder()));

最後に、配列を印刷しました。 出力は次のようになります。

[null, A, B, C, E, G]

nullsLast() 関数を Java の naturalOrder() 関数と共に使用する

また、naturalOrder()nullsLast() 関数を使用することもできます。 関数 nullsLast() は、配列に null 値が含まれている場合、配列のすべての null 値要素を最後に並べます。

これを理解するために、次の例を考えてみましょう。

import java.util.Arrays;
import java.util.Comparator;

class Main {
  public static void main(String[] args) {
    String[] str = {"B", "C", null, "A", "E", "G"};
    Arrays.sort(str, Comparator.nullsLast(Comparator.naturalOrder()));
    System.out.println(Arrays.toString(str));
  }
}

いくつかの値を含む文字列配列を取得した後、次の行を使用して配列を並べ替えました。

Arrays.sort(str, Comparator.nullsLast(Comparator.naturalOrder()));

最後に、配列を印刷しました。 出力は次のようになります。

[A, B, C, E, G, null]

ここで共有されているコード例は Java であり、システムに Java が含まれていない場合は、環境に Java をインストールする必要があることに注意してください。