[java] 배열과 리스트의 오름차순, 내림차순 정렬

JH·2024년 4월 9일

java

목록 보기
16/21

Arrays 클래스의 sort() 메소드

Java에서 배열을 정렬하는 가장 간단한 방법은 Arrays 클래스의 sort() 메소드를 사용하는 것입니다. 이 메소드는 배열의 모든 요소를 오름차순으로 정렬합니다.

sort() 메소드의 시그니처

Arrays 클래스의 sort() 메소드는 여러 버전이 있습니다. 각 버전은 다른 타입의 배열을 정렬하는 데 사용됩니다

public static void sort(int[] a)
public static void sort(long[] a)
public static void sort(short[] a)
public static void sort(char[] a)
public static void sort(byte[] a)
public static void sort(double[] a)
public static void sort(float[] a)
public static void sort(Object[] a)
public static <T> void sort(T[] a, Comparator<? super T> c)
  • a: 정렬할 배열입니다.
  • c: 배열 요소의 순서를 결정하는 Comparator입니다.

sort() 메소드 사용 예제

public class Main {
    public static void main(String[] args) {
        int[] arr = {5, 3, 2, 1, 4};
        Arrays.sort(arr);

        for (int num : arr) {
            System.out.println(num);
        }
    }
}

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

1
2
3
4
5

위의 예제에서는 sort() 메소드를 사용하여 정수 배열을 오름차순으로 정렬했습니다.

sort() 메소드와 Comparator

sort() 메소드는 Comparator 인터페이스를 구현한 객체를 인자로 받는 버전도 있습니다. 이를 통해 사용자 정의 순서로 배열을 정렬할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        int[] arr = {5, 3, 2, 1, 4};
        Arrays.sort(arr, Collections.reverseOrder());

        for (int num : arr) {
            System.out.println(num);
        }
    }
}

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

5
4
3
2
1

위의 예제에서는 sort() 메소드와 Collections.reverseOrder()를 사용하여 정수 배열을 내림차순으로 정렬했습니다.


Collections 클래스의 sort() 메소드

Java에서 리스트를 정렬하는 가장 간단한 방법은 Collections 클래스의 sort() 메소드를 사용하는 것입니다. 이 메소드는 리스트의 모든 요소를 오름차순으로 정렬합니다.

sort() 메소드의 시그니처

Collections 클래스의 sort() 메소드는 두 가지 버전이 있습니다

public static <T extends Comparable<? super T>> void sort(List<T> list)
public static <T> void sort(List<T> list, Comparator<? super T> c)
  • list: 정렬할 리스트입니다.
  • c: 리스트 요소의 순서를 결정하는 Comparator입니다.

sort() 메소드 사용 예제

public class Main {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(5, 3, 2, 1, 4);
        Collections.sort(list);

        for (int num : list) {
            System.out.println(num);
        }
    }
}

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

1
2
3
4
5

위의 예제에서는 sort() 메소드를 사용하여 정수 리스트를 오름차순으로 정렬했습니다.

sort() 메소드와 Comparator

sort() 메소드는 Comparator 인터페이스를 구현한 객체를 인자로 받는 버전도 있습니다. 이를 통해 사용자 정의 순서로 리스트를 정렬할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(5, 3, 2, 1, 4);
        Collections.sort(list, Collections.reverseOrder());

        for (int num : list) {
            System.out.println(num);
        }
    }
}

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다

5
4
3
2
1

위의 예제에서는 sort() 메소드와 Collections.reverseOrder()를 사용하여 정수 리스트를 내림차순으로 정렬했습니다.

profile
발전하는 백엔드 개발자

0개의 댓글