Java 数组常用方法

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]