Arrays.Sort 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| 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
最後一個要排序的元素(排他元素)的索引
比較器用來決定陣列的順序。 一個 null 值表示應使用元素的可比自然排序。
- 屬性
備註
根據指定比較器所誘導的順序,排序指定物件陣列的指定範圍。 待排序範圍從索引 fromIndex、包含到 toIndex索引、排他。 (若 fromIndex==toIndex,待排序範圍為空。)該範圍內的所有元素必須由指定的比較器相互比較(即c.compare(e1, e2)不得對該範圍內的任何元素e1e2拋出 aClassCastException)。
此排序 保證穩定:相同元素不會因排序而重新排序。
實作說明:此實作是一種穩定、自適應且可迭代的合併排序,當輸入陣列部分排序時,所需的 lg(n) 次比較遠少於 n 次;而當輸入陣列隨機排序時,則具備傳統合併排序的效能。 若輸入陣列幾乎已排序,實作約需 n 次比較。 暫存儲存需求從接近排序輸入陣列的小型常數,到隨機排序輸入陣列的 n/2 個物件參考不等。
該實作同時利用輸入陣列中的升序與降序,且能利用同一輸入陣列不同部分的升序與降序。 它非常適合合併兩個或以上已排序的陣列:只需將陣列串接並排序所得陣列即可。
此實作是從 Tim Peters 為 Python 設計的清單排序(TimSort)改編而來。 它採用了 Peter McIlroy 於 1993 年 1 月發表於第四屆 ACM-SIAM 離散演算法研討會論文集,頁 467-474 的〈樂觀排序與資訊理論複雜性〉中的技術。
Java 文件 java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
Java 文件 java.util.Arrays.sort(byte[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
此<關係並不提供所有浮點值的全序:-0.0f == 0.0f且trueFloat.NaN值與任何值(甚至自身)都不比任何值比較、不小於、不等於。 此方法使用方法所施加 Float#compareTo的總階數: -0.0f 被視為小於值 0.0f , Float.NaN 且視為大於其他任何值,且所有 Float.NaN 值皆視為相等。
Java 文件 java.util.Arrays.sort(float[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
另請參閱
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
Java 文件 java.util.Arrays.sort(long[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
Java 文件 java.util.Arrays.sort(int[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
Java 文件 java.util.Arrays.sort(short[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
該<關係並不對所有雙重值提供全序:-0.0d == 0.0d且trueDouble.NaN一個值既不比任何值小於、大於或等於任何值,甚至連自身也不相等。 此方法使用方法所施加 Double#compareTo的總階數: -0.0d 被視為小於值 0.0d , Double.NaN 且視為大於其他任何值,且所有 Double.NaN 值皆視為相等。
Java 文件 java.util.Arrays.sort(double[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
另請參閱
適用於
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。
若 start 或 end > array.length。
備註
將陣列指定的範圍依升序排序。 待排序範圍從索引 fromIndex、包含,延伸到 toIndex索引 、排他。 若 fromIndex == toIndex,待排序範圍為空。
Java 文件 java.util.Arrays.sort(char[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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。
若 start 或 end > array.length。
備註
根據元素的可比自然排序,將指定物件陣列的指定範圍排序為升序。 待排序範圍從索引 fromIndex、包含到 toIndex索引、排他。 (若 fromIndex==toIndex,待排序範圍為空。)此範圍內的所有元素都必須實作介面。Comparable 此外,該範圍內的所有元素必須彼此可比較(即e1.compareTo(e2)不得對陣列中任何元素 e1 和 e2 拋出 aClassCastException)。
此排序 保證穩定:相同元素不會因排序而重新排序。
實作說明:此實作是一種穩定、自適應且可迭代的合併排序,當輸入陣列部分排序時,所需的 lg(n) 次比較遠少於 n 次;而當輸入陣列隨機排序時,則具備傳統合併排序的效能。 若輸入陣列幾乎已排序,實作約需 n 次比較。 暫存儲存需求從接近排序輸入陣列的小型常數,到隨機排序輸入陣列的 n/2 個物件參考不等。
該實作同時利用輸入陣列中的升序與降序,且能利用同一輸入陣列不同部分的升序與降序。 它非常適合合併兩個或以上已排序的陣列:只需將陣列串接並排序所得陣列即可。
此實作是從 Tim Peters 為 Python 設計的清單排序(TimSort)改編而來。 它採用了 Peter McIlroy 於 1993 年 1 月發表於第四屆 ACM-SIAM 離散演算法研討會論文集,頁 467-474 的〈樂觀排序與資訊理論複雜性〉中的技術。
Java 文件 java.util.Arrays.sort(java.lang.Object[], int, int)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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.0f且trueFloat.NaN值與任何值(甚至自身)都不比任何值比較、不小於、不等於。 此方法使用方法所施加 Float#compareTo的總階數: -0.0f 被視為小於值 0.0f , Float.NaN 且視為大於其他任何值,且所有 Float.NaN 值皆視為相等。
Java 文件 java.util.Arrays.sort(float[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
另請參閱
- <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 文件 java.util.Arrays.sort(long[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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 文件 java.util.Arrays.sort(int[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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 文件 java.util.Arrays.sort(short[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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.0d且trueDouble.NaN一個值既不比任何值小於、大於或等於任何值,甚至連自身也不相等。 此方法使用方法所施加 Double#compareTo的總階數: -0.0d 被視為小於值 0.0d , Double.NaN 且視為大於其他任何值,且所有 Double.NaN 值皆視為相等。
Java 文件 java.util.Arrays.sort(double[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
另請參閱
- <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 文件 java.util.Arrays.sort(char[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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 文件 java.util.Arrays.sort(byte[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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不得拋出 aClassCastException)。
此排序 保證穩定:相同元素不會因排序而重新排序。
實作說明:此實作是一種穩定、自適應且可迭代的合併排序,當輸入陣列部分排序時,所需的 lg(n) 次比較遠少於 n 次;而當輸入陣列隨機排序時,則具備傳統合併排序的效能。 若輸入陣列幾乎已排序,實作約需 n 次比較。 暫存儲存需求從接近排序輸入陣列的小型常數,到隨機排序輸入陣列的 n/2 個物件參考不等。
該實作同時利用輸入陣列中的升序與降序,且能利用同一輸入陣列不同部分的升序與降序。 它非常適合合併兩個或以上已排序的陣列:只需將陣列串接並排序所得陣列即可。
此實作是從 Tim Peters 為 Python 設計的清單排序(TimSort)改編而來。 它採用了 Peter McIlroy 於 1993 年 1 月發表於第四屆 ACM-SIAM 離散演算法研討會論文集,頁 467-474 的〈樂觀排序與資訊理論複雜性〉中的技術。
Java 文件 java.util.Arrays.sort(java.lang.Object[])。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
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[]
待排序的陣列
比較器用來決定陣列的順序。 一個 null 值表示應使用元素的可比自然排序。
- 屬性
備註
根據指定比較器誘導的順序,對指定的物件陣列進行排序。 陣列中的所有元素必須由指定的比較器相互比較(也就是說,c.compare(e1, e2)陣列中任何元素 e1 和 e2 不得拋出 aClassCastException)。
此排序 保證穩定:相同元素不會因排序而重新排序。
實作說明:此實作是一種穩定、自適應且可迭代的合併排序,當輸入陣列部分排序時,所需的 lg(n) 次比較遠少於 n 次;而當輸入陣列隨機排序時,則具備傳統合併排序的效能。 若輸入陣列幾乎已排序,實作約需 n 次比較。 暫存儲存需求從接近排序輸入陣列的小型常數,到隨機排序輸入陣列的 n/2 個物件參考不等。
該實作同時利用輸入陣列中的升序與降序,且能利用同一輸入陣列不同部分的升序與降序。 它非常適合合併兩個或以上已排序的陣列:只需將陣列串接並排序所得陣列即可。
此實作是從 Tim Peters 為 Python 設計的清單排序(TimSort)改編而來。 它採用了 Peter McIlroy 於 1993 年 1 月發表於第四屆 ACM-SIAM 離散演算法研討會論文集,頁 467-474 的〈樂觀排序與資訊理論複雜性〉中的技術。
Java 文件 java.util.Arrays.sort(T[], java.util.Comparator<? super T>)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。