Java-util-arrays-sort-super

提供:Dev Guides
移動先:案内検索

Java.util.Arrays.sort()メソッド

説明

  • java.util.Arrays.sort(T [] a、Comparator <? super T> c)*メソッドは、指定されたコンパレータによって誘導された順序に従って、指定されたオブジェクトの配列をソートします。 配列内のすべての要素は、指定されたコンパレータによって相互に比較可能である必要があります(つまり、c.compare(e1、e2)は、配列内の要素e1およびe2に対してClassCastExceptionをスローしてはなりません)。

この並べ替えは安定していることが保証されています。並べ替えの結果、等しい要素は再配列されません。

ソートアルゴリズムは修正されたマージソートです(低サブリストの最上位要素が高サブリストの最下位要素よりも小さい場合、マージは省略されます)。 このアルゴリズムは、保証されたn * log(n)パフォーマンスを提供します。

宣言

以下は* java.util.Arrays.sort()*メソッドの宣言です

public static <T> void sort(T[] a, Comparator<? super T> c)

パラメーター

  • a -これはソートされる配列です。
  • c -配列の順序を決定するコンパレータ。 null値は、要素の自然順序付けを使用する必要があることを示します。

戻り値

このメソッドは値を返しません。

例外

*ClassCastException* -指定されたコンパレータを使用して相互に比較できない要素が配列に含まれている場合。

次の例は、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
      Arrays.sort(sArr, 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 = 21
Number = 13
Number = 9
Number = 3
Number = 1