例子:
// 排列数组 sort
int[] array = new int[]{1,4,6,8,3};
Arrays.sort(array);
for(int e:array){
System.out.print(e+",");
}
运行效果如下:
1,3,4,6,8,
public static void sort(Object[] a)
Comparable
interface. Furthermore, all elements in the array must be
mutually comparable (that is,
e1.compareTo(e2)
must not throw a
ClassCastException
for any elements
e1
and
e2
in the array).
This sort is guaranteed to be stable: equal elements will not be reordered as a result of the sort.
Implementation note: This implementation is a stable, adaptive, iterative mergesort that requires far fewer than n lg(n) comparisons when the input array is partially sorted, while offering the performance of a traditional mergesort when the input array is randomly ordered. If the input array is nearly sorted, the implementation requires approximately n comparisons. Temporary storage requirements vary from a small constant for nearly sorted input arrays to n/2 object references for randomly ordered input arrays.
The implementation takes equal advantage of ascending and descending order in its input array, and can take advantage of ascending and descending order in different parts of the the same input array. It is well-suited to merging two or more sorted arrays: simply concatenate the arrays and sort the resulting array.
The implementation was adapted from Tim Peters's list sort for Python ( TimSort). It uses techiques from Peter McIlroy's "Optimistic Sorting and Information Theoretic Complexity", in Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms, pp 467-474, January 1993.
-
Parameters:
-
a
- the array to be sorted
Throws:
-
ClassCastException
- if the array contains elements that are not mutually comparable (for example, strings and integers) -
IllegalArgumentException
- (optional) if the natural ordering of the array elements is found to violate theComparable
contract
static void | sort(byte[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(byte[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(char[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(char[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(double[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(double[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(float[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(float[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(int[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(int[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(long[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(long[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static void | sort(Object[] a)
Sorts the specified array of objects into ascending order, according to the
natural ordering of its elements.
|
static void | sort(Object[] a, int fromIndex, int toIndex)
Sorts the specified range of the specified array of objects into ascending order, according to the
natural ordering of its elements.
|
static void | sort(short[] a)
Sorts the specified array into ascending numerical order.
|
static void | sort(short[] a, int fromIndex, int toIndex)
Sorts the specified range of the array into ascending order.
|
static <T> void | sort(T[] a, Comparator<? super T> c)
Sorts the specified array of objects according to the order induced by the specified comparator.
|
static <T> void | sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
Sorts the specified range of the specified array of objects according to the order induced by the specified comparator.
|