1. 배열(Arrays) 정렬
배열에서 정렬을 할 때는 import.util.Arrays 을 통해 sort() 를 이용함
1.1 String 배열 정렬 (오름차순, 내림차순)
public static void main(String[] args) {
String[] str_arr = {"a", "d", "c", "b"};
System.out.println("기존 배열");
for (String s : str_arr) {
System.out.print(s + " "); // a d c b
}
System.out.println();
System.out.println("String 배열 오름차순");
Arrays.sort(str_arr);
for (String s : str_arr) {
System.out.print(s + " "); // a b c d
}
System.out.println();
System.out.println("String 배열 내림차순");
Arrays.sort(str_arr, Collections.reverseOrder());
for (String s : str_arr) {
System.out.print(s + " "); // d c b a
}
System.out.println();
}
오름차순을 할 때는
Arrays.sort() 괄호 인자 안에 해당 배열을 넣어주면 된다.
내림차순을 할 때는
Collections.reverseOrder() 을 사용한다.
Arrays.sort(배열 이름, Collections.reverseOrder()); 이렇게 사용하면 된다.
1.2 Int 배열 정렬 (오름차순, 내림차순)
◾ Collections 은 기본적으로 Object 상속한 클래스에 대해서 사용 가능한 인터페이스다.
◾ 따라서, int, double, char, float 등은 사용이 불가능하다.
◾ int 타입일 때는 integer 타입으로 변경 후, 정렬을 해야 한다.
int → integer 타입으로 변경
Integer[] int_arr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Collections.reverseOrder() 사용하여 내림차순 정렬
Arrays.sort(int_arr, Collections.reverseOrder());
public static void main(String[] args) {
int[] arr = {10, 30, 50, 0, 20};
System.out.println("기존 배열");
for (int n : arr) {
System.out.print(n + " "); // 10 30 50 0 20
}
System.out.println();
System.out.println("int 배열 오름차순");
Arrays.sort(arr);
for (int n : arr) {
System.out.print(n + " "); // 0 10 20 30 50
}
System.out.println();
System.out.println("int 배열 내림차순");
Integer[] int_arr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Arrays.sort(int_arr, Collections.reverseOrder());
for(int n : int_arr) {
System.out.print(n + " ");
}
}