Java-util-arrays-sort-super-index
提供:Dev Guides
Java.util.Arrays.sort()メソッド
説明
- java.util.Arrays。(T [] a、int fromIndex、int toIndex、Comparator <? super T> c)*メソッド指定されたコンパレーターによって誘導された順序に従って、指定されたオブジェクトの配列の指定された範囲をソートします。 ソートされる範囲は、インデックスfromIndex(包括的)からインデックスtoIndex(包括的)までになります。 (fromIndex == toIndexの場合、ソートされる範囲は空です。)範囲内のすべての要素は、指定されたコンパレーターによって相互に比較可能である必要があります(つまり、c.compare(e1、e2)は、e1要素に対してClassCastExceptionをスローしてはなりませんおよび範囲内のe2)。
この並べ替えは安定していることが保証されています。並べ替えの結果、等しい要素は再配列されません。
ソートアルゴリズムは修正されたマージソートです(低サブリストの最上位要素が高サブリストの最下位要素よりも小さい場合、マージは省略されます)。 このアルゴリズムは、保証されたn * log(n)パフォーマンスを提供します。
宣言
以下は* java.util.Arrays.sort()*メソッドの宣言です
public static <T> void sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
パラメーター
- a -これはソートされる配列です。
- fromIndex -ソートされる最初の要素(包括的)のインデックス
- toIndex -ソートされる最後の要素(排他的)のインデックス
- c -配列の順序を決定するコンパレータ。 null値は、要素の自然順序付けを使用する必要があることを示します。
戻り値
このメソッドは値を返しません。
例外
- ClassCastException -指定されたコンパレータを使用して相互に比較できない要素が配列に含まれている場合。
- IllegalArgumentException -fromIndex> toIndexの場合
- ArrayIndexOutOfBoundsException -fromIndex <0またはtoIndex> a.lengthの場合
例
次の例は、java.util.Arrays.sort()メソッドの使用法を示しています。
package com.finddevguides;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class ArrayDemo {
public static void main(String[] args) {
//initializing unsorted short array
Short sArr[] = new Short[]{3, 13, 1, 9, 21};
//let us print all the elements available in list
for (short number : sArr) {
System.out.println("Number = " + number);
}
//create a comparator
Comparator<Short> comp = Collections.reverseOrder();
//sorting array with reverse order using comparator from 0 to 2
Arrays.sort(sArr, 0, 2, comp);
//let us print all the elements available in list
System.out.println("short array with some sorted values(1 to 4) is:");
for (short number : sArr) {
System.out.println("Number = " + number);
}
}
}
上記のプログラムをコンパイルして実行すると、次の結果が生成されます-
Number = 3
Number = 13
Number = 1
Number = 9
Number = 21
short array with some sorted values(1 to 4) is:
Number = 13
Number = 3
Number = 1
Number = 9
Number = 21