how sort an array java tutorial with examples
このチュートリアルでは、簡単な例を使用して、Javaで配列を昇順、降順、アルファベット順に並べ替えるさまざまな方法について説明します。
並べ替えは、データを特定の順序で並べ替えます。コンピューターデータは、1つ以上のフィールドで構成されるレコードで構成されます。データを効率的に使用し、検索、アクセスなどのさまざまな操作を実行するには、このデータを特定の順序で配置することをお勧めします。
例えば、 学生データの記録が多数ある場合は、学生IDまたは学生名に応じてこのデータを整理できます。これはソートと呼ばれます。したがって、データをより効率的かつ簡単に使用するには、並べ替えが不可欠です。
=> ここでJavaトレーニングチュートリアルシリーズにアクセスしてください
Javaでは、配列にはデータが含まれているため、このデータを並べ替えて、指定されたいくつかの基準に従って配置する必要があります。このチュートリアルでは、簡単な例とともに、配列の並べ替えについて詳しく説明します。
学習内容:
Javaで配列をソートする方法
Javaには、配列をソートするための次のメソッドが用意されています。
- Forループの使用: forループを使用して、配列をトラバースし、隣接する要素をトラバースして並べ替えながら比較できます。
- ソート方法の使用: 「java.util」パッケージのArraysクラスは、配列を引数として受け取り、配列をソートするsortメソッドを提供します。これは直接ソート方法であり、1回のメソッド呼び出しで配列をソートできます。
これら両方の方法を詳しく見ていきましょう。
ループの使用
forループを使用するように、手動ソートを使用して配列をソートできます。できることは、2つのforループを使用することです。1つは配列を最初からトラバースし、もう1つは外側のforループ内で次の要素をトラバースします。
本文では、隣接する要素を比較し、順序が正しくない場合は交換します。要素の交換に一時変数を使用できます。
以下のプログラムは、このアプローチを示しています。
public class Main { public static void main(String() args) { //define original array int () intArray = new int () {52,45,32,64,12,87,78,98,23,7}; int temp = 0; //print original array System.out.println('Original array: '); for (int i = 0; i 出力:

forループを使用した並べ替えは、小さい配列が含まれる場合に効率的です。配列のサイズが大きくなると、複雑になる可能性があります。
ソート方法
「java.util.Arrays」クラスによって提供されるsortメソッドは、配列を並べ替える非常に簡単で高速な方法です。このメソッドは、プリミティブ型の要素と、同等のインターフェイスを実装するオブジェクトを並べ替えることができます。
プリミティブ型の要素がソートされている場合、sortメソッドはクイックソートを使用します。オブジェクトがソートされているとき、反復マージソートが使用されます。
ソート方法の一般的なプロトタイプは次のとおりです。
Arrays.sort (T() t_arr);ここで、T ()はデータ型であり、t_arrはソートされる配列です。
上記のプロトタイプは、Comparableインターフェイスを実装するアレイで機能します。
カスタムオブジェクトの配列の場合、以下に示すようにArrays.sortの別のバリアントを使用できます。 。
Arrays.sort(T() t_arr, Comparator.c);したがって、Comparableインターフェイスを実装していない配列の場合、ソート関数でコンパレータを渡す必要があります。デフォルトでは、sortメソッドは配列を昇順でソートすることに注意してください。
配列の並べ替えの具体例をいくつか見てみましょう。
数値配列を昇順で並べ替える
最初のデモンストレーションは、sortメソッドを使用して数値配列を昇順でソートすることです。すでに述べたように、デフォルトでは、sortメソッドは配列を昇順でソートします。したがって、数値配列を昇順で並べ替えるには、問題の配列でメソッドを呼び出す必要があります。
以下にこれを示す例を示します。
ネットワークキーはwifiパスワードです
import java.util.Arrays; public class Main { public static void main(String() args) { //define an array int() intArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; System.out.printf('Original Array : %s', Arrays.toString(intArray)); Arrays.sort(intArray); System.out.printf('
Sorted Array : %s', Arrays.toString(intArray)); } } 出力:

上記のプログラムでは、1回の関数呼び出しだけで配列が昇順で並べ替えられます。
数値配列を降順で並べ替える
次のタスクは、数値配列を降順で並べ替えることです。これを行うために、sortメソッドには、配列を降順で並べ替える2番目の引数「Collections.reverseOrder()」が用意されています。
配列を降順でソートするプログラムを以下に示します。
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { //Collections.reverseOrder do not work for primitive Types //define an array with Integer Integer() IntArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; //print original array System.out.printf('Original Array: %s', Arrays.toString(IntArray)); // Sorts IntArray in descending order Arrays.sort(IntArray, Collections.reverseOrder()); //print sorted array System.out.printf('
Sorted Array: %s', Arrays.toString(IntArray)); } } 出力:

文字列配列をアルファベット順に並べ替える
数値配列と同様に、sort関数を使用して文字列配列を並べ替えることもできます。文字列配列を渡すと、配列はアルファベットの昇順で並べ替えられます。配列をアルファベットの降順で並べ替えるには、2番目の引数としてCollectionsインターフェイスメソッドreverseOrder()を指定する必要があります。
次のプログラムは、文字列配列を昇順と降順で並べ替えることを示しています。
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { String str_Array() = {'Java', 'Python', 'Perl', 'C++', 'C#', 'AS400'}; System.out.printf('Original Array:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in ascending order Arrays.sort(str_Array); System.out.printf('Array sorted in ascending order:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in descending order Arrays.sort(str_Array, Collections.reverseOrder()); System.out.printf('Array sorted in descending order :
%s
', Arrays.toString(str_Array)); } } 出力:

プログラムの出力には、文字列のソートされた配列が昇順と降順の両方で表示されます。
よくある質問
Q#1)Javaでの並べ替えとは何ですか?
回答: 並べ替えとは、データをアルファベット順または数値順に並べることを指します。
Q#2)Javaの配列ソートで使用されるソート手法はどれですか?
回答: 配列は、プリミティブデータ型にデュアルピボットクイックソートを使用し、オブジェクトの並べ替えにマージソートを使用します。
Q#3)Javaのコンパレータとは何ですか?
回答: コンパレータインターフェイスはjava.utilパッケージの一部であり、ユーザー定義オブジェクトを配置するために使用されます。コンパレータインターフェイスは、主に、sortメソッドを使用したオブジェクトの並べ替え中に使用されます。
Q#4)Javaでの並べ替えの用途は何ですか?
回答: 並べ替えは、データを特定の順序で並べ替える手法です。データの並べ替えは、データをより効率的かつ迅速に検索できるので便利です。また、注文したデータへのアクセスや保存など、他の操作も簡単に行えます。
Q#5)Javaでリストをソートすることは可能ですか?
回答: はい。リストはJavaのCollectionsインターフェースの一部であり、Collectionsインターフェースのsort()メソッドを使用してリストをソートできます。
結論
これで、Javaでの配列の並べ替えに関する説明は終わりです。 Javaパッケージで提供される方法や、「for」ループを使用して配列要素を1つずつ並べ替える従来の方法など、Javaで配列を並べ替えるさまざまな方法について説明しました。
配列を昇順と降順で並べ替える方法を見ました。次に、文字列配列をアルファベット順に並べ替える方法を学びました。
以降のチュートリアルでは、Javaの配列に関するトピックをさらに詳しく調べていきます。
=> ここですべての完全なJavaチュートリアルを参照してください
推奨読書



