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

Patricia Arquette
リリース: 2024-11-13 01:40:02
オリジナル
903 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート