Java APIのアレイクラスの説明は次のとおりです。このクラスには、配列(ソートや検索など)を操作するために使用されるさまざまな方法が含まれています。
1。基本データ型の配列を並べ替えます
説明:
(1)arraysクラスのsort()は、「調整されたクイックソートメソッド」を使用します。
(2)たとえば、int []、double []、char []などのベースデータ型の配列は、アレイクラスはデフォルトの昇順の注文配置のみを提供し、対応する降順の注文配置方法を提供しません。
(3)基本タイプの配列を降順で並べ替えるには、これらのクラスアレイをソートするには、これらの配列を対応するカプセル化されたクラス配列に変換する必要があります。 (実際、最初に昇順の注文を並べ替えて、自分で注文に変える方が良いです)。
デフォルトの昇順で配列を並べ替えます
関数プロトタイプ:静的ボイドソート(int [] a)指定されたintタイプ配列を昇順で並べ替えます。
static void sort(int [] a、int fromindex、int toindex)は、昇順でintタイプの配列の指定された範囲を並べ替えます。
コード例:
コードコピーは次のとおりです。
java.util.arraysをインポートします。
パブリッククラスArraysSort_11 {
public static void main(string args [])
{
int [] a = {1,4、-1,5,0};
arrays.sort(a);
//配列a []のコンテンツは{-1,0,1,4,5}になります
for(int i = 0; i <a.length; i ++)
System.out.print(a [i]+"");
}
}
2。複合データ型のデータを並べ替えます
関数プロトタイプ:
(1)public static <t> void sort(t [] a、Comparator C)指定された比較者によって生成された順序に従って指定されたオブジェクト配列を並べ替えます。
(2)public static <t> void sort(t [] a、int fromindex、int toindex、Comparator c)指定されたコンパレータによって生成された順序に従って、指定されたオブジェクトアレイの指定された範囲を並べ替えます。
注:これら2つのソートアルゴリズムは、「Tuned Merge Sorting」アルゴリズムです。
コード例:
コードコピーは次のとおりです。
パッケージAA;
java.util.arraysをインポートします。
java.util.comparatorをインポートします。
public class arraysort {
point [] arr;
arraysort(){
arr = new Point [4];
for(int i = 0; i <4; i ++)
arr [i] = new Point();
}
public static void main(string [] args){
arraysort sort = new arraysort();
sort.arr [0] .x = 2; sort.arr [0] .y = 1;
sort.arr [1] .x = 2; sort.arr [1] .y = 2;
sort.arr [2] .x = 1; sort.arr [2] .y = 2;
sort.arr [3] .x = 0; sort.arr [3] .y = 1;
arrays.sort(sort.arr、new mycomprator());
for(int i = 0; i <4; i ++)//出力ソート結果
system.out.println( "("+sort.arr [i] .x+"、"+sort.arr [i] .y+")");
}
}
クラスポイント{
int x;
int y;
}
// Comparator、X座標は小から大きい場合、yに応じて小から大きいものに分類されます。
クラスmycompratorはコンパレーターを実装しています{
public int compare(object arg0、object arg1){
ポイントt1 =(point)arg0;
ポイントt2 =(point)arg1;
if(t1.x!= t2.x)
t1.x> t2.xを返しますか?
それ以外
t1.y> t2.yを返しますか?
}
}