Javaで2次元配列をソートする方法


  1. Arrays.sort()メソッドを使用する方法: JavaのArraysクラスには、2次元配列をソートするためのsort()メソッドがあります。このメソッドは、各行を個別にソートすることができます。

    import java.util.Arrays;
    public class Main {
       public static void main(String[] args) {
           int[][] array = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
    
           for (int[] row : array) {
               Arrays.sort(row);
           }
    
           for (int[] row : array) {
               System.out.println(Arrays.toString(row));
           }
       }
    }

    上記のコードでは、2次元配列を作成し、各行をソートしています。ソートされた結果は、各行ごとに出力されます。

  2. Comparatorを使用する方法: もう一つの方法は、Comparatorインタフェースを使用して、2次元配列をソートすることです。Comparatorを実装することで、独自の比較ロジックを定義することができます。

    import java.util.Arrays;
    import java.util.Comparator;
    public class Main {
       public static void main(String[] args) {
           Integer[][] array = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
    
           Arrays.sort(array, new Comparator<Integer[]>() {
               @Override
               public int compare(Integer[] row1, Integer[] row2) {
                   // ここで独自の比較ロジックを実装する
                   return Arrays.compare(row1, row2);
               }
           });
    
           for (Integer[] row : array) {
               System.out.println(Arrays.toString(row));
           }
       }
    }

    上記のコードでは、Comparatorを使用して2次元配列をソートしています。Comparatorのcompare()メソッド内で独自の比較ロジックを実装し、それに基づいて配列がソートされます。

以上がJavaで2次元配列をソートする方法です。これらの方法を使用することで、2次元配列を簡単にソートすることができます。