このチュートリアルでは、Java で 2D 配列をソートする方法について説明します。
Javaで2D配列をソートする方法は?
Java では、次を使用して 2D 配列をソートできます。
ここで、前述の各方法について 1 つずつ説明します。
方法 1: Java での 2D 配列の行単位の並べ替え
行ごとの並べ替えでは、「 配列.ソート() 」メソッドを使用して、配列要素をソートします。特定の行の各要素を繰り返し、現在の要素が次の要素よりも大きい場合に整数を交換します。
実装側を理解するために例を見てみましょう。
例
この例では、まず静的メソッドを作成します。 rowWiseSorting() 」を呼び出して配列を昇順でソートするには、「 配列.ソート() 」メソッドを使用して配列のソートされた要素を出力し、「 為に 」 ループ:
為に ( 整数 私 = 0 ; 私 < 到着 長さ ; 私 ++ ) {
配列。 選別 ( 到着 [ 私 ] ) ;
}
為に ( 整数 私 = 0 ; 私 < 到着 長さ ; 私 ++ ) {
為に ( 整数 j = 0 ; j < 到着 [ 私 ] . 長さ ; j ++ ) {
システム。 アウト . 印刷する ( 到着 [ 私 ] [ j ] + ' ' ) ;
}
システム。 アウト . println ( ) ;
}
戻る 0 ;
}
ここに、「」という名前の 2D 配列があります。 到着 」を 3×3 行列形式 (3 行 3 列) で表します。ここで、作成された配列の行をソートするために、メソッド「 rowWiseSorting() 」 main() メソッドで引数として配列を渡すことにより:
公衆 静的 空所 主要 ( 弦 [ ] 引数 ) {
整数 到着 [ ] [ ] = 新着 整数 [ ] [ ] {
{ 12 、 14 、 4 } 、
{ 14 、 23 、 20 } 、
{ 28 、 25 、 8 } 、
{ 十一 、 5 、 1 } } ;
行ごとの並べ替え ( 到着 ) ;
}
}
ご覧のとおり、配列を昇順で並べ替えました。
Java で列単位の並べ替えを試してみませんか?次のセクションを見てください。
方法 2: Java での 2D 配列の列方向の並べ替え
Java で 2D 配列を列方向に並べ替えるには、「 配列.ソート() ” を含むメソッド コンパレータインターフェース 」。 Comparator インターフェイスは、「 比較() 」 2 つのパラメーターを受け取り、それらを互いに比較するメソッド。渡されたパラメータが等しい場合、ゼロを返します。 1 番目のパラメーターが 2 番目のパラメーターより大きい場合、正の値を返します。そうでない場合は、負の値が返されます。
例
この例では、「」という名前のメソッドを作成します。 columnWiseSorting() ” 2 つの引数を持つ 2D 配列 “ 到着[][] 」と「」という名前の列番号 概要 」。次に、「 配列.ソート() ” を使用したメソッド コンパレータインターフェース 」を使用して、列の値を比較します。最後に、「」を使用して、配列のソートされた列の値を出力します。 為に 」 ループ:
配列。 選別 ( 到着 、 新着 コンパレータ < 整数 [ ] > ( ) {
公衆 整数 比較 ( 整数 [ ] 最初 、 整数 [ ] scnd ) {
もしも ( 最初 [ 概要 - 1 ] > scnd [ 概要 - 1 ] ) {
戻る 1 ;
}
そうしないと 戻る - 1 ;
}
} ) ;
}
為に ( 整数 私 = 0 ; 私 < 到着 長さ ; 私 ++ ) {
為に ( 整数 j = 0 ; j < 到着 [ 私 ] . 長さ ; j ++ ) {
システム。 アウト . 印刷する ( 到着 [ 私 ] [ j ] + ' ' ) ;
}
システム。 アウト . println ( ) ;
}
「」という名前の既に作成された配列を利用します 到着 」に渡し、「 columnWiseSorting() 」を最初のパラメータとして、「 1 」を 2 番目のパラメーターとして:
columnWiseSorting ( 到着 、 1 ) ;
上記のプログラムを実行すると、2D 配列の最初の列がソートされます。
Java で 2D 配列をソートするために必要なすべての情報をコンパイルします。
結論
Java では、必要に応じて、2D 配列を行方向または列方向に並べ替えることができます。行単位のソートでは、Array.sort() メソッドのみが使用されます。ただし、列方向の並べ替えでは、Array.sort() メソッドが Comparator インターフェイスで呼び出されます。行方向の並べ替えの場合、Array.sort() メソッドにパラメーターは渡されませんが、列方向の並べ替え方法では、並べ替える必要がある列の数がパラメーターとして指定されます。このチュートリアルでは、Java で 2D 配列を並べ替える方法について例を挙げて説明しました。