자바 정렬 방법 sort 사용
3598 단어 Java
배열 정렬:
//对数组排序
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.