자바 정렬 방법 sort 사용

3598 단어 Java
sort 와 관련 된 사용 을 편리 하 게 찾기 위해 자신 이 만 든 정 리 는 약간 어 지 럽 고 불완전 할 수 있 으 며 나중에 다시 보충 할 기회 가 있 습 니 다.
배열 정렬:
//对数组排序
public void arraySort(){
    int[] arr = {1,4,6,333,8,2};
    Arrays.sort(arr);//使用java.util.Arrays对象的sort方法
    for(int i=0;i

Arrays. sort (T [] a, Comparator Super T > c) 는 Comparator 인터페이스 로 사용자 정의 정렬 규칙 을 구현 합 니 다.
import java.util.*;

public class Main {
    public static void main(String[] args){
        Integer[] arr = {5,4,7,9,2,12,54,21,1};
        //降序
        Arrays.sort(arr, new Comparator() {
            public int compare(Integer a, Integer b) {
                return b-a;
            }
        });
        System.out.println(Arrays.toString(arr));    
    }   
}

집합 정렬:
//对list升序排序
    public void listSort1(){
        List list = new ArrayList();
        list.add(1);
        list.add(55);
        list.add(9);
        list.add(0);
        list.add(2);
        Collections.sort(list);//使用Collections的sort方法
        for(int a :list){
            System.out.println(a);
        }
    }
    //对list降序排序
    public void listSort2(){
        List list = new ArrayList();
        list.add(1);
        list.add(55);
        list.add(9);
        list.add(0);
        list.add(2);
        Collections.sort(list, new Comparator() {
            public int compare(Integer o1, Integer o2) {
                return o2 - o1;
            }
        });//使用Collections的sort方法,并且重写compare方法
        for(int a :list){
            System.out.println(a);
        }
    }
注意:Collections的sort方法默认是升序排列,如果需要降序排列时就需要重写conpare方法

인터페이스 Comparable
이 인 터 페 이 스 는 모든 종류의 대상 을 강제로 정렬 합 니 다.이러한 정렬 은 클래스 의 자연 정렬 이 라 고 불 리 며, 클래스 의 copare To 방법 은 자연 비교 방법 이 라 고 불 린 다.이 인 터 페 이 스 를 실현 하 는 대상 목록 (과 배열) 은 4. 567914. (과 4. 567914.) 을 통 해 자동 으로 정렬 할 수 있 습 니 다.이 인 터 페 이 스 를 실현 하 는 대상 은 질서 있 게 매 핑 된 키 나 질서 있 게 집합 하 는 요소 로 사용 할 수 있 으 며 비교 기 를 지정 할 필요 가 없습니다.우 리 는 Comparable 인터페이스 에 있 는 compare To 방법 을 사용 하여 원래 비교 할 수 없 었 던 대상 을 특정한 조건 을 통 해 정렬 할 수 있다.
CompareTo 방법 상세 설명
String 클래스 는 CompareTo 방법 이 있 습 니 다. 이 방법 은 사전 순서에 따라 두 문자열 의 앞 뒤 크기 순 서 를 비교 합 니 다.두 가지 상황 이 있 습 니 다.하 나 는 두 문자열 에 서로 다른 문자 가 있 는 경우 CompareTo 방법 은 서로 다른 문자 가 나타 나 는 최소 색인 비트 k 에서 두 문자열 k 색인 비트 문자 의 사전 순 서 를 비교 하고 앞 에 있 는 문 자 를 비교 하면 이 문자열 은 작고 반대로 크다.또 다른 경 우 는 두 문자열 의 유효한 색인 위치 에서 문자 가 같 으 면 두 문자열 의 길 이 를 판단 하고 길이 가 작은 것 은 앞 에, 길이 가 큰 것 은 뒤에 배열 하 는 것 이다.길이 도 같 으 면 두 문자열 이 같다.
Compareable 인터페이스 와 Compartor 인터페이스
Compareable 인터페이스의 Compare To 방법 과 Compartor 인터페이스의 Compare () 방법 은 모두 비교 하 는 데 사 용 됩 니 다. 사용자 정의 클래스 가 정렬 을 하려 면 이 두 인 터 페 이 스 를 실현 하고 비교 하 는 방법 을 다시 써 서 대상 중의 어떤 속성 에 따라 비교 해 야 합 니까?두 대상 의 비 교 는 모두 특정한 속성 에 따라 비교 하 는 것 이지 전체 대상 에 따라 비교 하 는 것 이 아니다.
Collection. sort () 와 Arrays. sort () 방법 은 정렬 에 사용 할 수 있 습 니 다. sort () 방법 은 두 개의 과부하 가 있 습 니 다. 하 나 는 집합 이나 배열 만 들 어 오 면 됩 니 다.이 방법 을 사용 하면 집합 에 있 는 요 소 는 반드시 Compareable 인 터 페 이 스 를 실현 하고 compare To () 방법 을 다시 써 야 합 니 다. sort () 바 텀 은 Compare To () 방법 에 따라 비교 합 니 다.sort () 의 또 다른 재 부팅 방법 은 정렬 할 집합 을 입력 하 는 것 외 에 외부 비교 기 에 도 들 어 갑 니 다.외부 선택 기 는 Compartor 인 터 페 이 스 를 실현 하고 compare 방법 을 다시 써 서 집합 중의 요소 크기 를 비교 하 는 방법 을 정의 합 니 다.sort 방법 바 텀 에서 copare 방법 을 호출 하여 비교 합 니 다.
부분https://www.cnblogs.com/minshia/p/6283858.html
부분https://www.cnblogs.com/macyzhang/p/9861302.html
부분https://www.cnblogs.com/wxbblogs/p/6815927.html
부분https://www.cnblogs.com/hongyuansu/p/10294674.html

좋은 웹페이지 즐겨찾기