Arrays.Sort 方法

定義

多載

Sort(Object[], Int32, Int32, IComparator)

根據指定比較子所引發的順序,排序指定之物件陣列的指定範圍。

Sort(Byte[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Single[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Int64[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Int32[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Int16[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Double[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Char[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

Sort(Object[], Int32, Int32)

根據物件元素的可比較自然順序,將指定物件陣列的指定範圍排序為遞增順序。

Sort(Single[])

將指定的陣列排序為遞增的數值順序。

Sort(Int64[])

將指定的陣列排序為遞增的數值順序。

Sort(Int32[])

將指定的陣列排序為遞增的數值順序。

Sort(Int16[])

將指定的陣列排序為遞增的數值順序。

Sort(Double[])

將指定的陣列排序為遞增的數值順序。

Sort(Char[])

將指定的陣列排序為遞增的數值順序。

Sort(Byte[])

將指定的陣列排序為遞增的數值順序。

Sort(Object[])

根據物件的可比較自然順序,將指定的物件陣列排序為遞增順序。

Sort(Object[], IComparator)

根據指定比較子所引發的順序,排序指定的 對象陣列。

Sort(Object[], Int32, Int32, IComparator)

根據指定比較子所引發的順序,排序指定之物件陣列的指定範圍。

[Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * int * int * Java.Util.IComparator -> unit

參數

a
Object[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引

toIndex
Int32

要排序的最後一個項目索引(獨佔)

c
IComparator

用來判斷陣列順序的比較子。 值 null 表示應該使用元素的可比較自然順序。

屬性

備註

根據指定比較子所引發的順序,排序指定之物件陣列的指定範圍。 要排序的範圍會從索引 fromIndex、內含、索引延伸至索引 toIndex、獨佔。 (如果fromIndex==toIndex為 ,要排序的範圍是空的。範圍中的所有項目都必須由指定的比較子相互比較(也就是說,c.compare(e1, e2)不得針對任何專案e1e2範圍擲回 ClassCastException

此排序保證是 穩定的:不會因為排序而重新排序相等專案。

實作注意事項:此實作是穩定、調適型的反覆合併,在部分排序輸入陣列時,需要比 n lg(n) 比較少得多,同時在隨機排序輸入數位時提供傳統合併的效能。 如果輸入數位幾乎已排序,則實作需要大約 n 個比較。 暫存記憶體需求會因幾乎排序的輸入陣列的小型常數而異,而隨機排序的輸入陣列則為 n/2 對象參考。

實作會利用其輸入陣列中的遞增和遞減順序,並可以利用相同輸入陣列不同部分的遞增和遞減順序。 它非常適合合併兩個或多個已排序的陣列:只要串連數位列並排序產生的陣列。

實作是從 Tim Peters 的 Python 清單排序改編的( TimSort)。 在1993年1月第四屆ACM-SIAM離散演算法研討會的論文中,它使用彼得·麥克羅伊的《開放式排序與資訊理論複雜性》的技術。

java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Byte[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([BII)V", "")]
public static void Sort (byte[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([BII)V", "")>]
static member Sort : byte[] * int * int -> unit

參數

a
Byte[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

java.util.Arrays.sort(byte[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Single[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([FII)V", "")]
public static void Sort (float[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([FII)V", "")>]
static member Sort : single[] * int * int -> unit

參數

a
Single[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

關聯 < 不會為所有浮點數提供總順序: -0.0f == 0.0ftrue ,而且 Float.NaN 值不會比較不小於、大於或等於任何值,甚至是本身。 這個方法會使用 方法 Float#compareTo所加總的順序: -0.0f 被視為小於值 0.0f ,且 Float.NaN 視為大於任何其他值,且所有 Float.NaN 值視為相等。

java.util.Arrays.sort(float[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Sort(Int64[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([JII)V", "")]
public static void Sort (long[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([JII)V", "")>]
static member Sort : int64[] * int * int -> unit

參數

a
Int64[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

java.util.Arrays.sort(long[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Int32[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([III)V", "")]
public static void Sort (int[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([III)V", "")>]
static member Sort : int[] * int * int -> unit

參數

a
Int32[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

java.util.Arrays.sort(int[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Int16[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([SII)V", "")]
public static void Sort (short[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([SII)V", "")>]
static member Sort : int16[] * int * int -> unit

參數

a
Int16[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

java.util.Arrays.sort(short[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Double[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([DII)V", "")]
public static void Sort (double[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([DII)V", "")>]
static member Sort : double[] * int * int -> unit

參數

a
Double[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

關聯 < 不會在所有雙精度浮點數上提供總順序: -0.0d == 0.0dtrue ,而且 Double.NaN 值不會比較不小於、大於或等於任何值,甚至是本身。 這個方法會使用 方法 Double#compareTo所加總的順序: -0.0d 被視為小於值 0.0d ,且 Double.NaN 視為大於任何其他值,且所有 Double.NaN 值視為相等。

java.util.Arrays.sort(double[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

適用於

Sort(Char[], Int32, Int32)

將陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([CII)V", "")]
public static void Sort (char[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([CII)V", "")>]
static member Sort : char[] * int * int -> unit

參數

a
Char[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引,包含

toIndex
Int32

要排序的最後一個專案的索引,獨佔

屬性

例外狀況

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

將陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 、內含到索引 fromIndextoIndex、獨佔。 如果 fromIndex == toIndex為 ,要排序的範圍是空的。

java.util.Arrays.sort(char[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Object[], Int32, Int32)

根據物件元素的可比較自然順序,將指定物件陣列的指定範圍排序為遞增順序。

[Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")>]
static member Sort : Java.Lang.Object[] * int * int -> unit

參數

a
Object[]

要排序的陣列

fromIndex
Int32

要排序之第一個專案的索引

toIndex
Int32

要排序的最後一個項目索引(獨佔)

屬性

例外狀況

如果有任何專案未實 Comparable作 ,則為 ,如果擲回任何一組專案,則 compareTo 為 。

如果 為 ,則為 start > end

如果為 或 end > array.length,則start 為 。

備註

根據物件元素的可比較自然順序,將指定物件陣列的指定範圍排序為遞增順序。 要排序的範圍會從索引 fromIndex、內含、索引延伸至索引 toIndex、獨佔。 (如果 fromIndex==toIndex為 ,要排序的範圍是空的。此範圍中的所有項目都必須實作 Comparable 介面。 此外,此範圍中的所有元素都必須相互比較(也就是說,e1.compareTo(e2)不得針對任何專案e1e2陣列擲回 ClassCastException

此排序保證是 穩定的:不會因為排序而重新排序相等專案。

實作注意事項:此實作是穩定、調適型的反覆合併,在部分排序輸入陣列時,需要比 n lg(n) 比較少得多,同時在隨機排序輸入數位時提供傳統合併的效能。 如果輸入數位幾乎已排序,則實作需要大約 n 個比較。 暫存記憶體需求會因幾乎排序的輸入陣列的小型常數而異,而隨機排序的輸入陣列則為 n/2 對象參考。

實作會利用其輸入陣列中的遞增和遞減順序,並可以利用相同輸入陣列不同部分的遞增和遞減順序。 它非常適合合併兩個或多個已排序的陣列:只要串連數位列並排序產生的陣列。

實作是從 Tim Peters 的 Python 清單排序改編的( TimSort)。 在1993年1月第四屆ACM-SIAM離散演算法研討會的論文中,它使用彼得·麥克羅伊的《開放式排序與資訊理論複雜性》的技術。

java.util.Arrays.sort(java.lang.Object[], int, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Single[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([F)V", "")]
public static void Sort (float[] a);
[<Android.Runtime.Register("sort", "([F)V", "")>]
static member Sort : single[] -> unit

參數

a
Single[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

關聯 < 不會為所有浮點數提供總順序: -0.0f == 0.0ftrue ,而且 Float.NaN 值不會比較不小於、大於或等於任何值,甚至是本身。 這個方法會使用 方法 Float#compareTo所加總的順序: -0.0f 被視為小於值 0.0f ,且 Float.NaN 視為大於任何其他值,且所有 Float.NaN 值視為相等。

java.util.Arrays.sort(float[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

  • <xref:Java.Util.Arrays.Sort(System.Single%5b%5d%2c+System.Int32%2c+System.Int32)>

適用於

Sort(Int64[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([J)V", "")]
public static void Sort (long[] a);
[<Android.Runtime.Register("sort", "([J)V", "")>]
static member Sort : int64[] -> unit

參數

a
Int64[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

java.util.Arrays.sort(long[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Int32[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([I)V", "")]
public static void Sort (int[] a);
[<Android.Runtime.Register("sort", "([I)V", "")>]
static member Sort : int[] -> unit

參數

a
Int32[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

java.util.Arrays.sort(int[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Int16[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([S)V", "")]
public static void Sort (short[] a);
[<Android.Runtime.Register("sort", "([S)V", "")>]
static member Sort : int16[] -> unit

參數

a
Int16[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

java.util.Arrays.sort(short[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Double[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([D)V", "")]
public static void Sort (double[] a);
[<Android.Runtime.Register("sort", "([D)V", "")>]
static member Sort : double[] -> unit

參數

a
Double[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

關聯 < 不會在所有雙精度浮點數上提供總順序: -0.0d == 0.0dtrue ,而且 Double.NaN 值不會比較不小於、大於或等於任何值,甚至是本身。 這個方法會使用 方法 Double#compareTo所加總的順序: -0.0d 被視為小於值 0.0d ,且 Double.NaN 視為大於任何其他值,且所有 Double.NaN 值視為相等。

java.util.Arrays.sort(double[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

另請參閱

  • <xref:Java.Util.Arrays.Sort(System.Double%5b%5d%2c+System.Int32%2c+System.Int32)>

適用於

Sort(Char[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([C)V", "")]
public static void Sort (char[] a);
[<Android.Runtime.Register("sort", "([C)V", "")>]
static member Sort : char[] -> unit

參數

a
Char[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

java.util.Arrays.sort(char[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Byte[])

將指定的陣列排序為遞增的數值順序。

[Android.Runtime.Register("sort", "([B)V", "")]
public static void Sort (byte[] a);
[<Android.Runtime.Register("sort", "([B)V", "")>]
static member Sort : byte[] -> unit

參數

a
Byte[]

要排序的陣列

屬性

備註

將指定的陣列排序為遞增的數值順序。

java.util.Arrays.sort(byte[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Object[])

根據物件的可比較自然順序,將指定的物件陣列排序為遞增順序。

[Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")]
public static void Sort (Java.Lang.Object[] a);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")>]
static member Sort : Java.Lang.Object[] -> unit

參數

a
Object[]

要排序的陣列

屬性

例外狀況

如果有任何專案未實 Comparable作 ,則為 ,如果擲回任何一組專案,則 compareTo 為 。

備註

根據物件的可比較自然順序,將指定的物件陣列排序為遞增順序。 陣列中的所有項目都必須實作 Comparable 介面。 此外,陣列中的所有元素都必須相互比較(也就是說,e1.compareTo(e2)不得針對任何元素e1e2陣列擲回 ClassCastException

此排序保證是 穩定的:不會因為排序而重新排序相等專案。

實作注意事項:此實作是穩定、調適型的反覆合併,在部分排序輸入陣列時,需要比 n lg(n) 比較少得多,同時在隨機排序輸入數位時提供傳統合併的效能。 如果輸入數位幾乎已排序,則實作需要大約 n 個比較。 暫存記憶體需求會因幾乎排序的輸入陣列的小型常數而異,而隨機排序的輸入陣列則為 n/2 對象參考。

實作會利用其輸入陣列中的遞增和遞減順序,並可以利用相同輸入陣列不同部分的遞增和遞減順序。 它非常適合合併兩個或多個已排序的陣列:只要串連數位列並排序產生的陣列。

實作是從 Tim Peters 的 Python 清單排序改編的( TimSort)。 在1993年1月第四屆ACM-SIAM離散演算法研討會的論文中,它使用彼得·麥克羅伊的《開放式排序與資訊理論複雜性》的技術。

java.util.Arrays.sort(java.lang.Object[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於

Sort(Object[], IComparator)

根據指定比較子所引發的順序,排序指定的 對象陣列。

[Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * Java.Util.IComparator -> unit

參數

a
Object[]

要排序的陣列

c
IComparator

用來判斷陣列順序的比較子。 值 null 表示應該使用元素的可比較自然順序。

屬性

備註

根據指定比較子所引發的順序,排序指定的 對象陣列。 陣列中的所有項目都必須由指定的比較子相互比較(也就是說,c.compare(e1, e2)不得針對任何專案e1e2陣列中擲回 ClassCastException

此排序保證是 穩定的:不會因為排序而重新排序相等專案。

實作注意事項:此實作是穩定、調適型的反覆合併,在部分排序輸入陣列時,需要比 n lg(n) 比較少得多,同時在隨機排序輸入數位時提供傳統合併的效能。 如果輸入數位幾乎已排序,則實作需要大約 n 個比較。 暫存記憶體需求會因幾乎排序的輸入陣列的小型常數而異,而隨機排序的輸入陣列則為 n/2 對象參考。

實作會利用其輸入陣列中的遞增和遞減順序,並可以利用相同輸入陣列不同部分的遞增和遞減順序。 它非常適合合併兩個或多個已排序的陣列:只要串連數位列並排序產生的陣列。

實作是從 Tim Peters 的 Python 清單排序改編的( TimSort)。 在1993年1月第四屆ACM-SIAM離散演算法研討會的論文中,它使用彼得·麥克羅伊的《開放式排序與資訊理論複雜性》的技術。

java.util.Arrays.sort(T[], java.util.Comparator<? super T>)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於