ホームページ  >  記事  >  Java  >  Arrays.sort を使用して Java で 2D 配列をソートする方法

Arrays.sort を使用して Java で 2D 配列をソートする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 01:40:02903ブラウズ

How to Sort a 2D Array in Java Using Arrays.sort?

Arrays.sort を使用した 2D 配列のソート

多次元配列のソートは複雑なタスクになる場合があります。ただし、Java の Arrays.sort メソッドを使用すると、これを効率的に実現できます。

具体的には、この解決策には、Comparator を次のように受け取るオーバーロードされた Arrays#Sort(T[] a, Comparator c) メソッドの使用が含まれます。 2 番目の引数。コンパレーターは、オブジェクトを比較する方法を定義するオブジェクトです。この場合、各サブ配列の最初の要素の値を比較します。

これを実装するには、java.util.Comparator インターフェースを実装し、その Compare() メソッドをオーバーライドするコンパレーターを作成します。このメソッドは、2 つの配列の最初の要素を比較し、出現する順序に応じて -1、0、または 1 を返す必要があります。

たとえば、次の 2D 配列を考えてみましょう:

double[][] myArr = {
  {1, 5},
  {13, 1.55},
  {12, 100.6},
  {12.1, .85}
};

各部分配列の最初の要素の値に基づいてこの配列を昇順に並べ替えるには、次のコマンドを使用します。コード:

java.util.Arrays.sort(myArr, new java.util.Comparator<double[]>() {
  public int compare(double[] a, double[] b) {
    return Double.compare(a[0], b[0]);
  }
});

これにより、次のソートされた配列が生成されます:

[
  {1, 5},
  {12, 100.6},
  {12.1, .85},
  {13, 1.55}
]

Java 8 以降では、ラムダを使用してコンパレータを簡素化できます:

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));

以上がArrays.sort を使用して Java で 2D 配列をソートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。