728x90
Java에서 Array나 List를 정렬하고 싶다면 java.util.Arrays 클래스의 sort()메서드를 사용하면 따로 정렬 로직을 구현하지 않더라도 정렬할 수 있다.
Arrays 클래스는 Array의 복사, 항목 정렬, 검색과 같은 Array 조작 기능을 가지고 있다.
배열 오름차순 정렬
Arrays.sort()메서드의 매개값으로 기본 타입 Array나 String Array를 지정하면 자동으로 오름차순 정렬이 된다.
기본 타입 배열 오름차순 정렬 (Ascending sort)
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int arr[] = {1,2,3,4,6,7,10};
Arrays.sort(arr);
for (int a : arr) System.out.print("[" + a + "]");
}
}
String타입 배열 오름차순 정렬 (Ascending sort)
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
String strArr[] = {"apple", "zzzzz", "banana", "sort"};
Arrays.sort(strArr);
for (String a : strArr) System.out.print("[" + a + "]");
}
}
배열 내림차순 정렬
내림차순 정렬할 때는 Collections 클래스의 reverseOrder() 메서드를 사용하면 된다.
만약 기본 타입 배열을 내림차순으로 정렬하고 싶다면 기본 타입의 배열을 래퍼 클래스로 만들어 Comparator를 두 번째 인자에 넣어주어야 역순으로 정렬할 수 있다.
※ String은 기본 타입이 아님
기본타입 배열 내림차순 정렬 (Descending sort)
import java.util.Arrays;
import java.util.Collections;
public class Sort {
public static void main(String[] args) {
Integer arr[] = {1, 2, 3, 4, 6, 7, 10};
Arrays.sort(arr, Collections.reverseOrder());
for (int i : arr) System.out.print("["+i+"]");
}
}
String타입 배열 내림차순 정렬 (Descending sort)
import java.util.Arrays;
import java.util.Collections;
public class Sort {
public static void main(String[] args) {
String strArr[] = {"apple", "zzzzz", "banana", "sort"};
Arrays.sort(strArr, Collections.reverseOrder());
for (String a : strArr) System.out.print("[" + a + "]");
}
}
배열 일부분만 정렬
Arrays.sort() 메서드의 매개 값으로 배열, 시작 index, 끝 index를 넣어주면 해당 index부분만 정렬할 수 있다.
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int arr[] = {1, 8, 9, 2, 90, 50, 30};
Arrays.sort(arr, 0, 4); // 0, 1, 2, 3 요소만 정렬
for (int i : arr) System.out.print("[" + i + "]");
}
}
Reference
'JAVA' 카테고리의 다른 글
[Java] 📚 문자열 형변환 Object to String : Casting, valueOf, toString (1) | 2023.03.05 |
---|---|
[Java] 📚 List에서 Array로 변환, Array에서 List로 변환 (2) | 2022.08.18 |
[Java] 📚 BufferedReader / BufferedWriter를 활용한 빠른 입출력 (3) | 2022.05.28 |
[Java] 📚 String / StringBuffer / StringBuilder (1) | 2022.05.22 |
[JAVA] Exception in thread "main" java.lang.StringIndexOutOfBoundsException (6) | 2022.03.12 |