Javaで配列を高速にソートする方法について記載します。
配列を高速にソートする方法
Arraysクラスの、parallelSort メソッドを使用します。
構文
parallelSort( ソート対象の配列変数 )
※ 引数にはintやdoubleなどのプリミティブ型の配列やString型の配列も指定可能です。
戻り値
なし
まずは、Arrays.sort メソッドを使用してソートにかかる時間を計測します。
実行例( Arrays.sort:1億の要素を持つ配列を昇順にソート )
次に、Arrays.parallelSort メソッドを使用してソートにかかる時間を計測します。
実行例( Arrays.parallelSort:1億の要素を持つ配列を昇順にソート )
上記から、parallelSortメソッドを使用した方が、高速にソートできることが分かります。
parallelSortメソッドでは、ソートアルゴリズムに 並列ソートマージ を使用しているため、sort メソッドより、高速にソートすることができます。
注意点としては、ソートに必要な作業領域が、ソート対象の配列と同じ程度必要になります。