자바 에서 Array.sort()의 몇 가지 용법

5626 단어 자바Java
자바 의 Arrays 클래스 에는 sort()방법 이 있 습 니 다.이 방법 은 Arrays 류 의 정적 방법 으로 배열 을 정렬 해 야 할 때 매우 좋 습 니 다.다음은 이 몇 가지 형식의 용법 을 소개 한다.
1、Arrays.sort(int[] a)
이 형식 은 한 배열 의 모든 요 소 를 정렬 하고 어 릴 때 부터 큰 순서 로 한다.
public class Test {
    public static void main(String[] args) {

        int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
        Arrays.sort(a);
        for(int i = 0; i < a.length; i ++) {
            System.out.print(a[i] + " ");
        }
    }
}

//      :
//0 1 2 3 4 5 6 7 8 9 

2、Arrays.sort(int[] a, int fromIndex, int toIndex)
이러한 형식 은 배열 부분 에 대한 정렬 입 니 다.즉,배열 a 의 아래 표 시 는 from Index 에서 toIndex-1 까지 의 요소 정렬 입 니 다.주의:아래 표 시 된 toIndex 요 소 는 정렬 에 참여 하지 않 습 니 다!
public class Test{
    public static void main(String[] args) {

        int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
        Arrays.sort(a, 0, 3);
        for(int i = 0; i < a.length; i ++) {
            System.out.print(a[i] + " ");
        }
    }
}

//      :
//7 8 9 2 3 4 1 0 6 5 (    9 8 7    7 8 9)

3、 public static void sort(T[] a,int fromIndex, int toIndex, Comparator super T> c)
위의 1 과 2 의 배열 순 서 는 작은 것 에서 큰 것 까지 만 할 수 있 고,우리 가 큰 것 에서 작은 것 까지 하려 면 이런 방식 을 사용 해 야 한다.
이것 은 자바 의 범 형 과 관련 되 어 있 습 니 다.만약 에 잘 모 르 면 박문 자바 의 범 형 에 대한 상세 한 설명 을 보 러 갈 수 있 습 니 다.다 본 후에 당신 이 알 게 될 것 이 라 고 믿 습 니 다.
import java.util.Comparator;

public class Test{
    public static void main(String[] args) {
        //  ,           ,        (int,double, char)
        //          
        Integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
        //        MyComparator   
        Comparator cmp = new MyComparator();
        Arrays.sort(a, cmp);
        for(int i = 0; i < a.length; i ++) {
            System.out.print(a[i] + " ");
        }
    }
}


//Comparator     ,            MyComparator implents   ,   extends Comparator

class MyComparator implements Comparator<Integer>{
    @Override
    public int compare(Integer o1, Integer o2) {
        //  n1  n2,       ,  n1  n2       ,
        //      ,          
        if(o1 < o2) { 
            return 1;
        }else if(o1 > o2) {
            return -1;
        }else {
            return 0;
        }
    }
}

//      :
//9 8 7 6 5 4 3 2 1 0 

좋은 웹페이지 즐겨찾기