Java Arrays.sort()
方法是java中的数组方法,用于数组元素进行排序。默认升序排序,降序排序请参考语法3和例子3。
它是jdk的原生方法,位于包 java.util。
语法
它有3种类型的语法,参数数量有所不同,其语法如下:public static void sort(int[] a)
public static void sort(int[] arr, int fromIndex, int toIndex)
public static <T> void sort(T[] a,int fromIndex, int toIndex, Comparator<? super T> c)
- 语法1:按照升序排序
- 语法2:按照升序排序,会将范围为[fromIndex, toindx)的元素进行排序
- 语法3:会将范围为[fromIndex, toindx)的元素进行排序,但是它有一个自定义排序方法,可以指定排序的方式,这里可以改为降序的方式排序。
参数
- a:指定要排序的数组
- fromIndex: 指定要排序的开始位置,闭区间包含
- toIndex: 指定要排序的结束位置,开区间不包含
- c: 指定排序的方法
返回值
没有返回值,它会改变原数组的内部元素位置。
例子
这里介绍3个例子,了解上面3种语法的使用。
例1
第一种语法的例子,按照升序进行排序
import java.util.Arrays;
public class ArraysortExample{
public static void main(String[] args) {
int [] array = new int [] {22, 88, 9, 33, 11, 38};
Arrays.sort(array);
System.out.println(Arrays.toString(array));
}
}
输出:
[9, 11, 22, 33, 38, 88]
例2
第二种语法的例子,升序排序,并指定排序的范围
import java.util.Arrays;
public class ArraysortExample2{
public static void main(String[] args) {
int [] array = new int [] {22, 88, 9, 33, 11, 38};
Arrays.sort(array, 1, 3); //[1,3) 即第2个和第3个元素进行排序
System.out.println(Arrays.toString(array));
}
}
输出:[a, a, 3, 4, 5]
例3
第三种排序的例子,可以指定排序的方式为降序。
这里需要改为包装类型数组。
import java.util.Arrays;
import java.util.Collections;
public class ArraySortExample3{
public static void main(String[] args) {
Integer [] array = new Integer [] {22, 88, 9, 33, 11, 38};//包装类型
Arrays.sort(array, Collections.reverseOrder());
System.out.println(Arrays.toString(array));
}
}
输出[88, 38, 33, 22, 11, 9]