Java 정렬 | Arrays.sort(), Collections.sort()
2024. 11. 19. 13:15ㆍ코딩테스트/Java
1. Arrays.sort()
- 배열을 정렬해주는 메서드
- java.util.Arrays
cf) java.util[패키지].Arrays[클래스].sort()[메서드]
- 일반 변수 배열 정렬
Array.sort(정렬할배열); //기본 오름차순
Arrays.sort(정렬할배열, Collections.reverseOrder()); //내림차순
- 사용자 정의 객체 배열 정렬 또는 정렬 방식 커스터마이징
comparator 사용 -> compare() 오버라이딩
public String[] solution(String[] strings, int n) {
//comparator 사용
Arrays.sort(strings, new Comparator<String>(){
@Override
public int compare(String s1, String s2){
char c1 = s1.charAt(n);
char c2 = s2.charAt(n);
if(c1==c2){
//같으면 0, s1이 더 앞이면 -, s1이 더 뒤면 +
return s1.compareTo(s2);
} else{
//c1이 더 앞이면 -, c2가 더 뒤면 +
return c1-c2;
}
}
});
return strings;
}
2. Collectons.sort()
- ArrayList를 정렬해주는 메서드
- java.util.Collections
- 일반 변수 리스트 정렬: Collections.sort(정렬할리스트);
- 사용자 정의 객체를 갖는 리스트 정렬
class에 comparable 상속 -> compareTo() 오버라이딩
@Override
public int compareTo(Student std) {
if (this.score < std.score) {
return -1;
}
return 1;
}